1

我希望我的 android 应用程序能够与我的应用程序引擎服务器进行通信。我希望只有经过身份验证的用户(谷歌用户)才能访问我的 EndPoints Api 并使用 PYTHON 存储在 appengine 中。

这里有一个使用 java appengine 的例子:
https ://developers.google.com/eclipse/docs/endpoints-addauth

我想在服务器端使用 User 对象并将其另存为,而不仅仅是保存电子邮件地址。例如,我的 protopc 请求对象将:
MessageRequest(User user, ...)
当用户在应用程序中使用其谷歌帐户登录时,他将填充 User 对象(在服务器上),以防它是有效的谷歌帐户,如果不是一个好帐户,他将无法访问 API。

谢谢

4

1 回答 1

1

您可以使用该endpoints库在 Python 中执行相同的操作:

from google.appengine.ext import endpoints

@endpoints.api(...)
class MyApi(...):

    @endpoints.method(...)
    def my_method(self, request):
        current_user = endpoints.get_current_user()
        if current_user is None:
            # This will result in a 401
            raise endpoints.UnauthorizedException('Invalid token.')

为此,您需要在您的装饰器或装饰器中为已验证的方法指定audiences=和。allowed_client_ids=endpoints.apiendpoints.method

这些值在Endpoints auth 文档中进行了描述。

于 2013-05-24T17:16:45.713 回答