Python googleappengine中的自定义身份验证

Python googleappengine中的自定义身份验证,python,google-app-engine,authentication,Python,Google App Engine,Authentication,有人知道或者知道我可以在哪里学习如何使用Python和Google App Engine创建自定义身份验证过程吗 我不想使用谷歌账户进行身份验证,而是希望能够创建自己的用户 如果不是专门针对Google App Engine,那么关于如何使用Python和Django实现身份验证的任何资源?Well Django 1.0今天在Google AppEngine上更新。但是你可以像其他任何东西一样进行用户身份验证,你只是不能真正使用会话,因为它太庞大了 中有一个会话实用程序 或者 您必须创建自己

有人知道或者知道我可以在哪里学习如何使用Python和Google App Engine创建自定义身份验证过程吗

我不想使用谷歌账户进行身份验证,而是希望能够创建自己的用户


如果不是专门针对Google App Engine,那么关于如何使用Python和Django实现身份验证的任何资源?

Well Django 1.0今天在Google AppEngine上更新。但是你可以像其他任何东西一样进行用户身份验证,你只是不能真正使用会话,因为它太庞大了

中有一个会话实用程序

或者

您必须创建自己的用户表和散列或加密密码,然后可能创建一个令牌系统,该系统仅使用令牌散列或uuid cookie模拟会话(会话无论如何都只是cookie)

我已经用基本的google.webapp请求和响应头实现了一些。我通常使用UUID作为主键的用户id,然后加密用户密码并让他们的电子邮件进行重置

如果您想授权用户外部访问数据,可以查看OAuth以获取应用程序访问权限

如果您只想通过一个id存储数据,而且它更面向消费者,那么可以使用类似stackoverflow的openid,然后将配置文件数据附加到该标识符上,比如django profiles()

django 1.0今天刚刚在GAE上发布,但我认为同样的问题也存在,没有会话,你必须真正创建自己的存储会话数据的程序。

这个(优秀的“应用程序引擎示例”开源项目的一部分)目前可以正常工作(尽管自述文件中有警告,但它已经过时了)并允许您使用OpenID进行用户登录

django也可以使用,例如(至少是
用户
部分,不一定是
权限
,尽管他们可能随时让他们工作)。

看看django(我从你的问题中假设你的首选框架)。它在gae上提供身份验证

或者,看一看。它是一个基于Python的框架,可用于GAE和关系数据库。它的内置身份验证对象为用户、组和权限提供

不过,它并没有提供对BigTable的无限制访问,而是提供了关系功能的子集(例如,BigTable不支持连接,web2py还不支持BigTable模型)


Web2py和Django社区都在讨论对BigTable的支持。

我在谷歌上看到,每当你搜索“应用程序引擎中的自定义登录”时,就会弹出这个窗口 我决定给出一个一直对我有用的答案。 这是一个示例应用程序

这使用

  • webapp2(已在GAE 1.6.2中)
  • Jinja2(已在GAE 1.6.2中)
  • Webapp2似乎是GAE的最佳选择(构建在webapp之上,因此是未来的证明),因此使用GAE本机支持的框架进行身份验证是一个好主意。有很多 其他框架,但为了让它们工作,用户必须进行大量的黑客攻击。对于那些想建立一个“稳定”网站的人来说,这样的黑客工作是极不可取的

    我还意识到,现在已经有了对GAE的SQL支持,django将在本地得到支持。
    我们都知道django内置了用户认证系统。尽管如此,我认为,特别是在云世界中,NoSQL是未来的趋势。我相信NoSQL将来会有一个和django一样好的框架。但这就是我,您的需求可能还需要其他东西。

    这是一个非常现成的解决方案,效果非常好:

    它内置了对Facebook、Google+、Twitter、LinkedIn、GitHub和OpenId(通过谷歌应用引擎)的支持

    您只需将用户重定向到
    /auth/facebook
    /auth/google
    等等(此url可自定义)

    它还实现了两个类:
    用户
    用户档案
    ,每个
    用户
    都是应用程序中唯一的帐户,可能与一个或多个
    用户档案
    ——唯一的
    用户
    必须登录到应用程序的登录策略是哪一个(如果不清楚,那是因为我的英语很差,最好解释一下)


    注:文档不是很完整,但代码非常简单、简短且自解释。此外,在一次讨论中,作者为困惑和乞讨的用户提供了各种各样的答案。

    除了所有其他伟大的答案之外,我还要补充一点,所有这些都提供了OAuth机制,您可以使用它ilize作为应用程序的交钥匙身份验证支持。

    我在谷歌上搜索了一会儿应用程序引擎的自定义身份验证系统。我最终决定在应用程序引擎上运行flask。我使用这个样板在应用程序引擎上运行flask,这个flask auth扩展附带即插即用的谷歌应用程序引擎支持。我k flask还有一个非常好的oAuth库,因此最终添加facebook和twitter登录将很容易

    看看我正在与coto合作的这个项目:它包括一个功能齐全的自定义身份验证系统和更多功能。

    另一个选项是。
    客户端会话的AES加密非常好。

    这是一个非常好的、相对较新的(2013年1月)这很有趣,但我们希望能够自己创建用户并向用户提供用户名/密码。我们不允许外部注册。为什么不允许?您仍然可以使用OpenID进行用户注册-只需创建用户并询问注册信息(但不包括用户名/密码)当他们第一次使用新的openid登录时。我们想要控制用户对系统的访问,包括用户id和密码。这就是为什么没有使用openid。哇,听起来很难。我不知道我们不能使用会话。我想我正在寻找某种类型的预制身份验证功能,我可以直接将其放入我的应用程序中。是的那个