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

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

我正在开发一个带有 GAE 后端的 Android 应用程序,用于 session 等。 我想使用 Google Cloud Endpoint 并开发具有自定义身份验证用户模型的 API。我不想使用谷歌的 oauth。我想使用基于 session 的 token 实现一个简单的电子邮件/通行证用户身份验证模型。我对 GAE 没有任何经验。我曾使用 python 及其框架(django、flask 等)。

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

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

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

我已经看过下面的但是都没有详细的解决方法:

最佳答案

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

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

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

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

执行前面的步骤后,关键是将端点中的 session key 与样板代码配置文件中的 session key 相匹配。然后,您将能够获取哪个用户发出了请求,并在经过验证后继续执行端点调用:

    self.get_user_from_cookie()

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

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

OP,只需在 GAE 上使用 Django 即可避免挫败感。我确信 Django 社区可以提供大量与移动应用程序的快速集成。

没有人愿意强制他们的应用程序用户拥有 Google 帐户才能登录,Google。停止它。

关于python - Cloud Endpoints-Python 的自定义身份验证(用户模型),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24537865/

相关文章:

java - 为什么统计 GAE 数据存储中 X 个实体的时间会随着实体总数的增加而增加?

google-app-engine - 如何使用 GAE/Cloud Endpoints API 方法将图像上传到 Google Cloud Storage

java - 尝试执行 Blob 存储并将表单数据添加到数据存储 预检错误

ios - Google Cloud Datastore API 的 Objective-C 客户端?

python - 计算器的 Python 代码中的回溯错误

python - Django: 'Data' 对象没有属性 'save'

python - matplotlib 颜色 rgb_to_hsv 不能正常工作。也许需要报告?

python - Scikit 学习 : Logistic Regression Error

python - 如何限制请求执行时间?

google-app-engine - 如何使用 Google App Engine Golang 的 SendGrid?