我有一个用Python / Google Appengine / WebApp2框架编写的Web应用程序。 Web应用程序具有本机(自定义)身份验证。用户ID /密码由应用程序管理(并且不使用Google帐户)。
Web应用程序也需要扩展到Mobile客户端。因此,我正在开发原生Android客户端应用程序并尝试与Google Appengine集成。
对于从Android客户端到Google应用引擎的身份验证,我试图通过使用Google Cloud Endpoints来保持简单。您能否建议我的方法是否正确?
我对以上情况的期望如下 -
您能否建议我的方法是否正确?我有意避免使用从Android客户端到GAE的基于Google帐户的身份验证。
答案 0 :(得分:0)
为了让Google Cloud Endpoints将App Engine用户实例注入您的API方法,您需要在Android应用中使用Google帐户。 Android代码中的服务构建器采用GoogleAccountCredential。
您仍然可以支持自己的用户ID和密码,但如果您这样做,则无法利用用户注入。
[编辑]
如果您不想在Android应用中使用Google帐户,请忘记SHA1和API密钥。你将不得不推出自己的身份证明。它取决于您如何执行此操作,但您可以使用带有用户名和密码并返回令牌的API调用启动会话。例如,所有其他API调用可能会在返回结果之前获取该标记并检查其有效性。