GoogleIdToken-Sub和OpenID值相同

时间:2015-03-09 05:53:00

标签: oauth-2.0 openid google-oauth google-api-java-client google-authentication

我在我的应用中使用google-oauth2身份验证工作流程,支持使用Google帐户登录。

我的问题是,当我从谷歌获得ID-Token时,它返回与Sub相同的OpenID(2.0)值。

这是预期的行为还是由于身份验证请求/工作流程的某些问题(如下所示)?

身份验证请求:

https://accounts.google.com/o/oauth2/auth?
client_id=xxxxxxxxxxxx.apps.googleusercontent.com&
response_type=code&
scope=email+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.
email+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fcalendar+https%3A%2F
%2Fdocs.
google.com%2Ffeeds+https%3A%2F%2Fwww.googleapis.
com%2Fauth%2Fdocs+https%3A%2F%2Fmail.google.com%2Fmail%2Ffeed%2Fatom&
redirect_uri=http://example.com/oauth2/callback/google.json&
state=e410b0ae-696a-4b7d-9f3e-aec14c1acdd1&
access_type=offline&
openid.realm=http://example.com&
login_hint=fake_user@testedu.info&
hd=testedu.info

在回调中,以下代码段用于从Google获取令牌,以获取返回回调的“代码”值。

GoogleAuthorizationCodeTokenRequest tokenResponse = new 
GoogleAuthorizationCodeTokenRequest(TRANSPORT, JSON_FACTORY, 
googleAppClientId,googleAppClientSecret, code, callbackurl).execute();

以下是DB中现有的OpenID2.0值以及GoogleIdToken中返回的新Sub值。 sub被提取为:“idToken.getPayload()。getSubject()”

现有OpenID:107287433969474xxxxxx
子:107287433969474xxxxxx

0 个答案:

没有答案