2015-03-25 3 views
0

Как получить идентификатор OpenID 2.0 (openid_id) при использовании Apache Oltu с Google OpenID Connect.Как получить идентификатор OpenID 2.0 (openid_id) при использовании Apache Oltu с Google OpenID Connect

Вот запрос авторизации я использую:

OAuthClientRequest oltu_request = OAuthClientRequest.authorizationProvider(OAuthProviderType.GOOGLE) 
             .setClientId(CLIENT_ID) 
             .setResponseType(OAuth.OAUTH_CODE) 
             .setParameter("access_type", "offline") 
             .setScope("https://www.googleapis.com/auth/userinfo.profile https://www.googleapis.com/auth/userinfo.email") 
             .setRedirectURI("https://app.com/sso_return") 
             .buildQueryMessage(); 

ответ

1

Используйте дополнительные:

.setParameter("openid.realm", "<realm>") 

и идентификатор OpenID 2.0 будет возвращен в openid_id претензии в ID маркера. См .: https://developers.google.com/accounts/docs/OpenID#openid-connect

+0

Ханс, спасибо! Я добавил это. Как я могу получить идентификатор OpenID после перенаправления Google на мой? Образец кода? Благодаря! :) –

+0

взгляните на этот код: https://svn.wso2.org/repos/wso2/people/suresh/oidcdemo/src/main/java/org/apache/oltu/demo/openidconnect/client/OpenIDConnectClient. java –

+0

вы должны использовать что-то вроде 'tokenResponse.getIdToken(). getClaimsSet(). getCustomField (" openid_id ", String.class)' –

Смежные вопросы