首页 文章

Cloud Endpoints-Python的自定义身份验证(用户模型)

提问于
浏览
10

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

过去一周我一直在寻找这种样本项目(没有运气) .

有人可以请给我提供示例代码/资源,了解如何使用会话管理和csrf保护以及ssl实现这样的 endpoints ?

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

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

1 回答

  • 11

    你正在乘车 . 这不是一个简单的过程,但我已经成功地完成了你正在寻找的东西 - 虽然是以一种轻微的hackish方式 .

    首先,有's a boilerplate project for GAE (in Python) that implements a custom email/pwd login system using webapp2'的额外内容:http://appengine.beecoss.com/

    它遵循本博客文章中详细说明的设置自定义身份验证的准则:http://blog.abahgat.com/2013/01/07/user-authentication-with-webapp2-on-google-app-engine/

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

    按照前面的步骤操作后,密钥是将 endpoints 中的会话密钥与样板代码的配置文件中的会话密钥相匹配 . 然后,您将能够获得请求的用户,并在验证后通过 endpoints 调用:

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

    令人难以置信的是,这就是它如何用于自定义身份验证,所以如果你已经习惯了Django并希望以这种方式实现你的应用程序,那就做吧 . 对我来说“现在回头”已经“为时已晚”,我鄙视Google只记录仅适用于Google帐户持有人的身份验证方案 .

    OP,只需在GAE上使用Django并拯救自己的挫败感 . 我确信Django社区可以提供与移动应用程序的快速集成 .

    没有人想强迫他们的应用用户拥有Google帐户才能登录Google . 停下来 .

相关问题