首页 文章

从Android客户端到Google App Engine Webapp2的身份验证

提问于
浏览
0

我有一个基于Web的应用程序(Webapp2)和Google App Engine后端 . 使用Webapp2框架使用自定义用户标识/密码完成身份验证 .

现在,我正在使用Android Client将此Web应用程序扩展到Mobile . 如何从Android客户端到Google App Engine后端进行身份验证? Google Cloud Endpoints是否支持自定义用户ID /密码身份验证?

2 回答

  • 0

    这取决于身份验证的用途 . 您是否需要用户授权访问他们的数据,或者您只是保护提供给您的应用程序的REST服务?

    Cloud Endpoints使用可以使用Google帐户进行身份验证的OAuth 2.0,或者如果不需要用户同意,您还可以针对您的应用授权“服务帐户” . 一个很好的信息来源是文档[1] . 当然,没有什么能阻止您实现自己的身份验证方案或使用其他库,就像您在其他平台上托管移动后端一样 .

    另一个特定于移动身份验证的优秀文档是[2]中的“在移动应用中验证用户” .

    [1] https://cloud.google.com/appengine/docs/java/endpoints
    [2] https://developers.google.com/accounts/docs/MobileApps

  • 0

    我想你可以从https://github.com/coto/gae-boilerplate获得一些灵感

    这是一个实际总结的巨大话题:)但我会尽我所能 .

    首先,您应该了解什么是OAUTH客户端流和服务器流 . (您可以决定使用哪一个 . )然后我将以Facebook为例 .

    假设您在Android上使用Facebook SDK来验证您的用户,通常如果他们已经在他们的Facebook应用程序中进行了身份验证,您将获得UserID和AccessToken以及其他一些信息 . 这是facebook告诉你:“是的,你可以相信这个人 . 这是他的身份和信息 . ”

    然后,您可以利用该信息存储在您自己的用户数据库(或GAE术语中的数据存储区)中 . 因此,稍后您可以告诉谁,当他们登录时,他们的特定ID与您的用户相关联 . (一个用户可以拥有不同的提供商ID . )请记住这一点 .

    现在回过头来看看gae-boilerplate实现:https://github.com/coto/gae-boilerplate/blob/master/bp_includes/handlers.py

    查看三个处理程序类:LoginHandler,SocialLoginHandler,CallbackSocialLoginHandler

相关问题