使用Plone从移动设备对用户进行身份验证

问题描述:

我开始创建需要使用Plone用户的iPhone/Android应用程序(即在网站上注册,然后在移动设备上享受应用程序)。使用Plone从移动设备对用户进行身份验证

这样做的最佳方法是什么?我见过一些使用OAuth或其他技术的应用程序,目前支持Plone4(4.0.3)。

我有LDAP服务器(OpenLDAP)上的用户,但即使如此,我仍然必须在Plone上登录它们才能够将数据从那里发送到手机。

你有3个选择,你选择什么取决于你的技能,你有多少时间愿意投资:

基本身份验证

让您的用户输入用户名和密码进入应用程序,只需使用HTTP BasicAuth标题访问该网站。 Plone支持开箱即用的基本身份验证。

这不是最安全的方法;密码基本上是以base64编码的方式发送的,所以你可能想用HTTPS与服务器通信。无论如何,无论如何都是一个好主意。

cookie认证

发送POST请求与__ac_name__ac_password项目'/ login_form在您的Plone站点,并捕获的响应Set-Cookie头,包含__ac饼干。这是一个tk-auth身份验证令牌,可用于任何后续请求。这是一个安全的cookie,但是任何嗅探HTTP通信流的攻击者都可以重新使用它,所以HTTPS是安全的通信方式。

的OAuth

Plone的不(还)支持OAuth的开箱即用,但python-oauth整合应该是微不足道的。这很可能需要编写一个PluggableAuthSystem(PAS)插件。

+0

为了完整起见,如果有人使用“Cookie身份验证”方法Martijn解释,您还需要在POST请求中添加“cookies_enabled”以及__ac_name和__ac_password。我一直很生气,直到我意识到看着Firebug。 – gforcada 2011-09-13 13:36:35

+0

oops忘记了以前的评论,现在我尝试了所有组合,它是“form.submitted = 1”,它使cookie工作 – gforcada 2011-09-13 14:15:51