我正在制作GAE java app
授权看起来像
GoogleAuthorizationCodeFlow.Builder
(
new NetHttpTransport(),
JacksonFactory.getDefaultInstance(),
AppConfig.clientId,
AppConfig.clientSecret,
Collections.singleton("openid email")
)
.setAccessType("offline").build();
回调servlet取自此处:https://developers.google.com/api-client-library/java/google-api-java-client/oauth2#authorization_code_flow
示例中提供的成功方法如下所示:
protected void onSuccess(HttpServletRequest req, HttpServletResponse resp, Credential credential)
throws ServletException, IOException {
resp.sendRedirect("/");
}
来自'凭证'对象我可以获得accessToken和refreshToken。 id_token在哪里?如何获得它?它没有在' req'任
答案 0 :(得分:0)
ID令牌是OpenID Connect的一部分,OpenID Connect是在OAuth 2.0之上构建的协议。如果您遵循该协议,则它应该与访问令牌在相同的响应中可用。您可以看到文档here。
我不认识你正在使用的GoogleAuthorizationCodeFlow
课程;事实证明它已被弃用。您可能需要查看您关联的网页上的app engine section,以使用Google当前的推荐。