首页 文章

Android客户端 - 使用Google Cloud Endpoints的Google App引擎身份验证

提问于
浏览
0

我有一个用Python / Google Appengine / WebApp2框架编写的Web应用程序 . Web应用程序具有本机(自定义)身份验证 . 用户ID /密码由应用程序管理(并且不使用Google帐户) .

Web应用程序也需要扩展到Mobile客户端 . 所以我正在开发一个原生的Android客户端应用程序,并尝试与Google Appengine集成 .

对于从Android客户端到Google应用引擎的身份验证,我试图通过使用Google Cloud Endpoints来保持简单 . 你能否建议我的方法是否正确?

我对上述情况的期望如下 -

  • 使用Google Cloud Endpoints Api(来自Android客户端)的最终用户将使用Google App引擎对Android客户端进行身份验证 .

  • 作为Client-GAE安全认证的一部分,我可以将用户login-id作为API调用的参数传递,并获取该特定用户标识的数据/发布数据 .

  • 我正在使用移动客户端中的本地存储为最终用户存储userid(而不是密码) .

如果我的方法是正确的,你能否建议一下?我有意避免使用从Android客户端到GAE的基于Google帐户的身份验证 .

1 回答

  • 0

    为了通过Google Cloud Endpoints将App Engine用户实例注入您的API方法,您需要在Android应用中使用Google帐户 . Android代码中的服务构建器采用GoogleAccountCredential .

    您仍然可以支持自己的用户ID和密码,但如果这样做,则无法利用用户注入 .

    [编辑]

    如果您不打算在Android应用中使用Google帐户,请忘记SHA1和API密钥 . 你将不得不推出自己的身份验证 . 这取决于您如何执行此操作,但您可以使用带有用户名和密码并返回令牌的API调用启动会话 . 例如,所有其他API调用可能会获取该标记并在返回结果之前检查其是否有效 .

相关问题