授权客户端访问App Engine后端

时间:2014-05-19 23:33:57

标签: android google-app-engine oauth-2.0 google-cloud-endpoints

我为Android客户端提供了一个简单的Google App Engine后端(用Python编写)。所有后端负责接受密钥并返回值;它通常是一个分类器,只需在Cloud SQL表中查找密钥即可实现,但此特定行为将来会发生变化。

后端和客户端通过Google Cloud Endpoints进行通信。我想限制对我的后端API的访问,以便只接受来自我的客户端的请求,并且想知道OAuth 2.0是否真的是这样做的方式。

我不需要用户提供任何上下文或额外信息,因此,不希望用户操作授予任何类型的授权。我需要做的就是确保请求来自我的应用程序。我正在考虑简单地生成一个静态密钥并在我的客户端和后端硬编码,但我认为必须有一种更优雅的方式来做到这一点。

TL; DR:如何在不需要用户上下文/输入的情况下,通过OAuth 2.0或其他方式将我的后端访问限制到我的客户端/应用程序?

1 个答案:

答案 0 :(得分:0)

我不知道OP是否解决了他们的问题,但是我在这里为其他人发布了这个问题。我在这个问题上浪费了不少时间。

步骤:

1。Create an oAuth 2.0 client ID for your Android client.

2.在endpoints.api的allowed_client_ids参数中指定客户端ID。在这种情况下(Android),在allowed_client_ids中提供其Android客户端ID和Web客户端ID。

3.在设置为Web客户端ID的endpoints.api中提供受众参数。

4。Add a user check to the protected methods.

5.重新部署API后端。

6.重新生成客户端库。