oauth-2.0google-oauthgoogle-openidopenid-connectoltu

How do I retrieve OpenID 2.0 identifier (openid_id) when using Apache Oltu with Google OpenID Connect


How do I retrieve OpenID 2.0 identifier (openid_id) when using Apache Oltu with Google OpenID Connect.

Here is the authorization request I am using:

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();

Solution

  • Use an additional:

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

    and the OpenID 2.0 identifier will be returned in the openid_id claim in the ID token. See: https://developers.google.com/accounts/docs/OpenID#openid-connect