【发布时间】:2012-06-22 16:35:55
【问题描述】:
我想在 GAE 上开发一个商业应用程序。业主不知何故不喜欢或误解 OpenID 的想法,坚持实施本地用户管理:使用存储在应用程序数据存储中的登录名和密码进行注册。
我想通过使用“本地”OpenID 提供程序来实现他想要的。这似乎是最直接的方法。有没有办法“插入”现有的 OpenID 提供程序库(+登录对话框 +也许是注册工作流程)并在同一个应用程序中使用它?例如,Janrain 是否需要大量修改才能做到这一点?
如果不是这样,我可以自己创建用户实例并使用本地商店的用户名+密码吗?那么如何处理会话管理呢?
对不起,我在这件事上不是很有经验,而且从主要业务主题上被用户管理分心真的很烦人:(
【问题讨论】:
-
随着我越来越多地思考它,我是否可能只需要编写一个简单明了的登录名/密码输入,并在成功通过身份验证后创建“未绑定”用户实例和将其电子邮件地址和“假”OpenID 设置为 federated_identity,然后继续使用它? IE。类似“user = get_current_user(); if user is None: user = google.appengine.api.users.User(email = ..., federated_identity = ...)”
-
我对此没有太多了解。当我在探索这个相同的特性时,我得到了一个解决方案来使用 JIODS(Java Open Id Server)在 java 中创建自己的本地 openid 提供程序,参考链接:code.google.com/p/openid-server。所以尝试为此探索代码可能是你得到正确的解决方案。
标签: google-app-engine user-management openid-provider