我正在尝试为使用用户的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/";
我假设我缺少一些注释或配置选项。有谁知道它可能是什么?
答案 0 :(得分:0)
注释中的scopes
属性未在Android身份验证流中使用,这是其未包含在生成的Java代码中的原因之一。相反,Android使用ID令牌,该令牌包含足够的信息来向后端表示您的用户/应用程序,而无需请求范围。