package org.pac4j.oidc.client; import org.pac4j.core.context.WebContext; import org.pac4j.core.logout.GoogleLogoutActionBuilder; import org.pac4j.core.util.CommonHelper; import org.pac4j.oidc.config.OidcConfiguration; import org.pac4j.oidc.profile.OidcProfileDefinition; import org.pac4j.oidc.profile.creator.OidcProfileCreator; import org.pac4j.oidc.profile.google.GoogleOidcProfile; /** * <p>This class is the OpenID Connect client to authenticate users in Google.</p> * <p>More information at: https://developers.google.com/identity/protocols/OpenIDConnect</p> * * @author Jerome Leleu * @since 1.9.0 */ public class GoogleOidcClient extends OidcClient<GoogleOidcProfile> { public GoogleOidcClient() { } public GoogleOidcClient(final OidcConfiguration configuration) { super(configuration); } @Override protected void clientInit(final WebContext context) { CommonHelper.assertNotNull("configuration", getConfiguration()); getConfiguration().defaultDiscoveryURI("https://accounts.google.com/.well-known/openid-configuration"); final OidcProfileCreator<GoogleOidcProfile> profileCreator = new OidcProfileCreator<>(getConfiguration()); profileCreator.setProfileDefinition(new OidcProfileDefinition<>(x -> new GoogleOidcProfile())); defaultProfileCreator(profileCreator); defaultLogoutActionBuilder(new GoogleLogoutActionBuilder<>()); super.clientInit(context); } }