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

 wszr12345597 发布于 2023-01-06 16:38

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

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

有人可以提供一些示例代码/资源,介绍如何使用会话管理和csrf保护以及ssl来实现这样的端点吗?

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

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

Google Cloud Endpoints的自定义身份验证(而非OAuth2)

Google App Engine:使用自定义身份验证或Open ID时的端点身份验证

AppEngine Cloud端点和自定义用户服务

小智.. 11

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

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

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

此项目将进行设置,以便您的用户在登录时启动会话.现在,为了在端点中访问此会话的用户信息,您将按照发布的第一个StackOverflow链接的说明进行操作.

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

    self.get_user_from_cookie()

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

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

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

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

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

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

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

    此项目将进行设置,以便您的用户在登录时启动会话.现在,为了在端点中访问此会话的用户信息,您将按照发布的第一个StackOverflow链接的说明进行操作.

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

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

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

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

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

    2023-01-06 16:41 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有