如何在Python中将Google帐户身份验证添加到Google Cloud Endpoints

时间:2013-02-28 04:03:57

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

我正在尝试为使用用户的Google帐户进行身份验证的Android应用制作Google Cloud Endpoints后端。我发现Java API包含OAuth范围的注释,但是python文档只对它进行了一次引用。

以下是我在端点上使用的注释:

@endpoints.api(name='notes', version='v1',
           description='Notes API',
           allowed_client_ids=[CLIENT_ID, endpoints.API_EXPLORER_CLIENT_ID],
           audiences=[AUDIENCE],
           scopes=['https://www.googleapis.com/auth/userinfo.email'])

但生成的代码没有任何范围:

/**
 * Available OAuth 2.0 scopes for use with the .
 *
 * @since 1.4
 */
public class NotesScopes {

  private NotesScopes() {
  }
}

即使生成的服务类似乎也缺少了部分:

/**
 * The default encoded root URL of the service. This is determined when the library is generated
 * and normally should not be changed.
 *
 * @since 1.7
 */
public static final String DEFAULT_ROOT_URL = "https://None/_ah/api/";

/**
 * The default encoded service path of the service. This is determined when the library is
 * generated and normally should not be changed.
 *
 * @since 1.7
 */
public static final String DEFAULT_SERVICE_PATH = "notes/v1/";

我假设我缺少一些注释或配置选项。有谁知道它可能是什么?

1 个答案:

答案 0 :(得分:0)

注释中的scopes属性未在Android身份验证流中使用,这是其未包含在生成的Java代码中的原因之一。相反,Android使用ID令牌,该令牌包含足够的信息来向后端表示您的用户/应用程序,而无需请求范围。