python - 在 Google App Engine 中生成用户帐户

标签 python google-app-engine openid

对于一个项目,我将在 Google App Engine 上创建一个应用程序,其中:

  • 讨论领袖可以在网站本身上使用他们的电子邮件地址(或 OpenID 或 Google 帐户)注册以使用它。
  • 在应用程序管理页面中,他们可以创建一个小组讨论,他们可以根据他们的电子邮件地址为其添加用户
  • 然后这些用户应该会收到生成的帐户详细信息(如果他们还没有帐户),使他们能够使用新创建的帐户登录该小组讨论。

我不想要求讨论组长必须拥有 Google 帐户或 OpenID 帐户才能注册该应用程序,并且所有用户其他帐户都必须由讨论组长生成。

但是 Google App Engine 似乎只支持 Google 帐户和 OpenID 帐户。我该怎么做?在仍然支持 GAE 用户 API 的 Google App Engine 中,是否存在用于创建领导者帐户和生成用户帐户的现有模式?

最佳答案

EngineAuth

几个月前,我开发了一个名为 EngineAuth 的 python 包.它使用中间件拦截用于身份验证的请求。

这是一个示例应用程序:

http://engineauth.scotchmedia.com/

来源:

https://github.com/scotch/engineauth

EngineAuth有多种认证策略。其中之一是密码。

Password需要一个密码和一个字符串(可以是电子邮件)。如果字符串在数据存储中,它会根据存储的哈希值检查密码。如果匹配,则让用户登录。如果字符串不在数据存储中,则创建新用户。

EngineAuth还有一个 appengine_openid允许您使用 App Engine Openid 登录用户的策略。

关于 EngineAuth 的好处是,如果您的用户登录 App Engine OpenID,然后他们使用密码登录,它会将用户与这两种策略相关联。

aeauth

我对 EngineAuth 并不完全满意但是,所以我决定创建一个更依赖于 webapp2 的模块设计。我从未完成,因为我现在正在用 Go 开发项目,但也许代码会有所帮助。

webapp2 auth

EngineAuth 的大部分密码功能和 aeauth取自 webapp2_extras/auth 可能会给你一个简单的方法。

关于python - 在 Google App Engine 中生成用户帐户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11083776/

相关文章:

java - 如何减少 Google App Engine 数据存储延迟?

python - openid token 应该在 Pyramid 应用程序中何时/何地进行验证?

python - 如何增加 plt.title 字体大小?

Python 类、实例变量和访问器方法

python - 如何从列名称为 "crashloc"的簇中获取值,其中 "crashtype"= ="Serious Suspected Injury"

asp.net-mvc - 如何与 MVC 一起使用属性交换和/或简单注册?

web-applications - 如何通过openId获取登录凭据?

php - 为什么我的 mysql 查询没有从 python shell 进入网络托管数据库

google-app-engine - 关系数据模型到 Google 数据存储映射

java - 在 GAE 中发送带有图像的 html 电子邮件