mah*_*ler 11 python openid google-app-engine
对于项目,我将在Google App Engine上创建一个应用程序,其中:
我不希望讨论领导者拥有Google帐户或OpenID帐户以注册该应用程序,并且所有用户的其他帐户必须由讨论负责人生成.
但Google App Engine似乎只支持Google帐户和OpenID帐户.我该怎么做?是否存在用于在Google App Engine中创建领导者帐户和生成用户帐户的现有模式,该模式仍然支持GAE用户API?
几个月前,我开发了一个名为EngineAuth的python包.它使用中间件拦截用于身份验证的请求.
这是一个示例应用程序:
http://engineauth.scotchmedia.com/
来源:
https://github.com/scotch/engineauth
EngineAuth有各种身份验证策略.其中一个是密码.
密码需要密码和字符串(可以是电子邮件).如果字符串位于数据存储区中,则会根据存储的哈希检查密码.如果匹配,则将用户登录.如果该字符串不在数据存储区中,则会创建新用户.
EngineAuth还有一个appengine_openid策略,允许您使用App Engine Openid登录用户.
关于EngineAuth的好处是,如果您的用户登录App Engine OpenID然后他们使用密码登录,它会将用户与两种策略相关联.
然而,我对EngineAuth并不完全满意,所以我决定创建一个更依赖于webapp2的模块设计.我从未完成过,因为我现在正在Go中开发项目,但也许代码会有所帮助.
EngineAuth和aeauth的大部分密码功能都来自webapp2_extras/auth,可能会给你一个简单的方法.
GAEUser API仅向您提供当前登录的用户及其一些属性。无论如何,您都必须将此信息存储在模型内的数据存储中User。
从那里,您可以对业务逻辑进行任何您想做的事情,以及如何根据电子邮件存储/创建用户以及如何处理这些用户,如何对它们进行分组等。
为了支持OAuth登录,例如Facebook或Twitter,您必须使用他们自己的 API 来了解如何从这些服务对用户进行身份验证(注册密钥、请求权限等)。幸运的是,有很多框架可以解决这个问题,但这取决于您的结构和您当前使用的框架。
(免责声明,这是我的)由于您只是创建一个新应用程序,因此您可以查看gae-init项目,它基本上是您已经登录的新应用程序的起点Google,Facebook并将Twitter其存储在数据存储中,其中他们可以改变自己的属性。不过,您必须已经熟悉 GAE。
| 归档时间: |
|
| 查看次数: |
4218 次 |
| 最近记录: |