云端点:控制谁可以通过API Explorer

时间:2017-03-01 01:02:24

标签: google-cloud-endpoints

通过Google帐户成功进行身份验证的所有人都可以通过API Explorer执行API。

我想限制只能通过API Explorer对某些用户执行API的能力。但同时我的Android和iOS应用程序的所有用户都可以访问API。

至少Android App的安全性通过Android客户端ID和SHA指纹得以实现。因此,此处的范围是不包括App访问安全性。

1 个答案:

答案 0 :(得分:1)

  1. 确定请求是通过API资源管理器发出的。一种方法是通过标题中的origin / referrer。要获取标头信息,请参阅此question
    1. 如果已知用户列表,则如果用户(endpoints.UnauthorizedException)不在列表中,则在端点方法中引发endpoints.get_current_user()
    2. Python示例代码:

      if self.request_state.headers.get('x-referer') == "https://apis-explorer.appspot.com" and endpoints.get_current_user() not in MY_LIST:
        raise endpoints.UnauthorizedException('Not Authorized')