我开始创建一个需要使用Plone用户的iPhone / Android应用程序(即在网站上注册然后在手机上欣赏该应用程序)。
这样做的最佳方法是什么?我见过一些使用OAuth或其他技术的应用,目前支持Plone4(完全是4.0.3)。
我有LDAP服务器(OpenLDAP)上的用户,但即使我仍然需要在Plone上记录它们,以便能够从那里向移动电话发送和检索数据。
答案 0 :(得分:5)
您有3种选择,您选择的取决于您的技能以及您愿意投入的时间:
让您的用户在应用中输入用户名和密码,然后使用HTTP BasicAuth标头访问该网站。 Plone支持开箱即用的基本身份验证。
这不是最安全的方法;密码基本上是发送base64编码的,因此您可能希望使用HTTPS与服务器进行通信。无论如何,无论如何都是一个好主意。
在您的Plone网站上向{/ 1}}和__ac_name
项发送POST请求到'/ login_form',并在响应中捕获__ac_password
标题,其中包含Set-Cookie
曲奇饼。这是一个tk-auth身份验证令牌,您可以在任何后续请求中使用它。这是一个安全的cookie,但是任何嗅探HTTP通信流的攻击者都可以重复使用它,因此HTTPS也是安全的通信方式。
Plone(尚未)开箱即用支持OAuth,但与python-oauth集成应该是微不足道的。这很可能需要编写PluggableAuthSystem(PAS)插件。