【问题标题】:Custom Authenication(User Model) for Cloud Endpoints-PythonCloud Endpoints-Python 的自定义身份验证(用户模型)
【发布时间】:2014-08-23 15:25:19
【问题描述】:

我正在开发一个带有 GAE 后端的 Android 应用程序,用于会话等。 我想使用 Google Cloud Endpoint 并使用自定义身份验证用户模型开发 API。我不想使用谷歌的 oauth。我想使用基于会话的令牌实现一个简单的电子邮件/传递用户身份验证模型。我对GAE没有任何经验。我曾在 python 和它的框架(django、flask 等)中工作过。

过去一周我一直在寻找此类示例项目(没有运气)。

有人可以向我提供有关如何实现具有会话管理和 csrf 保护以及 ssl 的此类端点的示例代码/资源吗?

Ps:如果您认为云端点对我的应用程序(服务器后端)来说不是一个好方法,那么请指导我找到一个可以帮助我创建自己的带有 JSON 编码 + crsf 保护和会话管理的 RESTful api 的来源。

我已经看到了以下,但没有一个有详细的解决方案:

【问题讨论】:

    标签: python google-app-engine google-cloud-endpoints


    【解决方案1】:

    你是在兜风。这不是一个简单的过程,但我已经成功地完成了您正在寻找的事情——尽管是以一种有点生硬的方式。

    首先,有一个 GAE 样板项目(在 Python 中),它使用 webapp2 的附加功能实现了自定义电子邮件/密码登录系统:http://appengine.beecoss.com/

    它遵循这篇博文中详述的设置自定义身份验证的指南:http://blog.abahgat.com/2013/01/07/user-authentication-with-webapp2-on-google-app-engine/

    此项目将进行设置,以便您的用户在登录时启动会话。现在,为了在您的端点中访问有关此会话的用户信息,您将按照该first StackOverflow link you posted 的说明进行操作。

    在完成前面的步骤之后,关键是将端点中的会话密钥与样板代码的配置文件中的会话密钥相匹配。然后,您将能够获取发出请求的用户,并在他们得到验证后继续执行端点调用:

        self.get_user_from_cookie()
    
        if not self.user:
            raise endpoints.UnauthorizedException('Invalid token.')
    

    这是非常荒谬的,这就是自定义身份验证的工作方式,所以如果您习惯 Django 并希望以这种方式实现您的应用程序,那就去做吧。对我来说“现在回头太晚了”,我鄙视 Google 只记录仅适用于 Google 帐户持有人的身份验证方案。

    OP,只要在 GAE 上使用 Django,就可以免去烦恼。我确信 Django 社区可以提供大量与移动应用程序的快速集成。

    没有人愿意强迫他们的应用用户拥有 Google 帐户才能登录,Google。别了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-02-03
      • 2014-10-11
      • 1970-01-01
      • 2013-06-02
      • 2020-06-10
      • 2017-10-09
      • 2016-04-01
      • 1970-01-01
      相关资源
      最近更新 更多