Package org.keycloak.social.gitlab
Class GitLabIdentityProvider
java.lang.Object
org.keycloak.broker.provider.AbstractIdentityProvider<C>
org.keycloak.broker.oidc.AbstractOAuth2IdentityProvider<OIDCIdentityProviderConfig>
org.keycloak.broker.oidc.OIDCIdentityProvider
org.keycloak.social.gitlab.GitLabIdentityProvider
- All Implemented Interfaces:
org.keycloak.broker.provider.ClientAssertionIdentityProvider<OIDCIdentityProviderConfig>,org.keycloak.broker.provider.ExchangeExternalToken,org.keycloak.broker.provider.ExchangeTokenToIdentityProviderToken,org.keycloak.broker.provider.IdentityProvider<OIDCIdentityProviderConfig>,org.keycloak.broker.provider.JWTAuthorizationGrantProvider<OIDCIdentityProviderConfig>,org.keycloak.broker.provider.TrustMaterialIdentityProvider<OIDCIdentityProviderConfig>,org.keycloak.broker.provider.UserAuthenticationIdentityProvider<OIDCIdentityProviderConfig>,org.keycloak.broker.social.SocialIdentityProvider<OIDCIdentityProviderConfig>,org.keycloak.provider.Provider
public class GitLabIdentityProvider
extends OIDCIdentityProvider
implements org.keycloak.broker.social.SocialIdentityProvider<OIDCIdentityProviderConfig>
- Author:
- Stian Thorgersen
-
Nested Class Summary
Nested classes/interfaces inherited from class org.keycloak.broker.oidc.OIDCIdentityProvider
OIDCIdentityProvider.OIDCEndpointNested classes/interfaces inherited from class org.keycloak.broker.oidc.AbstractOAuth2IdentityProvider
AbstractOAuth2IdentityProvider.Endpoint, AbstractOAuth2IdentityProvider.OAuthResponseNested classes/interfaces inherited from interface org.keycloak.broker.provider.UserAuthenticationIdentityProvider
org.keycloak.broker.provider.UserAuthenticationIdentityProvider.AuthenticationCallback -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final Stringstatic final Stringstatic final Stringstatic final StringFields inherited from class org.keycloak.broker.oidc.OIDCIdentityProvider
EXCHANGE_PROVIDER, FEDERATED_ACCESS_TOKEN_RESPONSE, FEDERATED_ID_TOKEN, logger, SCOPE_OPENID, VALIDATED_ACCESS_TOKEN, VALIDATED_ID_TOKENFields inherited from class org.keycloak.broker.oidc.AbstractOAuth2IdentityProvider
ACCESS_DENIED, ACCESS_TOKEN_EXPIRATION, FEDERATED_REFRESH_TOKEN, FEDERATED_TOKEN_EXPIRATION, mapper, OAUTH2_GRANT_TYPE_AUTHORIZATION_CODE, OAUTH2_GRANT_TYPE_REFRESH_TOKEN, OAUTH2_PARAMETER_ACCESS_TOKEN, OAUTH2_PARAMETER_CLIENT_ID, OAUTH2_PARAMETER_CLIENT_SECRET, OAUTH2_PARAMETER_CODE, OAUTH2_PARAMETER_GRANT_TYPE, OAUTH2_PARAMETER_REDIRECT_URI, OAUTH2_PARAMETER_RESPONSE_TYPE, OAUTH2_PARAMETER_SCOPE, OAUTH2_PARAMETER_STATEFields inherited from class org.keycloak.broker.provider.AbstractIdentityProvider
ACCOUNT_LINK_URL, BROKER_REGISTERED_NEW_USER, session, UPDATE_PROFILE_EMAIL_CHANGED, UPDATE_PROFILE_USERNAME_CHANGEDFields inherited from interface org.keycloak.broker.provider.UserAuthenticationIdentityProvider
EXTERNAL_IDENTITY_PROVIDER, FEDERATED_ACCESS_TOKEN -
Constructor Summary
ConstructorsConstructorDescriptionGitLabIdentityProvider(org.keycloak.models.KeycloakSession session, OIDCIdentityProviderConfig config) -
Method Summary
Modifier and TypeMethodDescriptionprotected org.keycloak.broker.provider.BrokeredIdentityContextexchangeExternalImpl(org.keycloak.events.EventBuilder event, jakarta.ws.rs.core.MultivaluedMap<String, String> params) Usage with external-internal token-exchangeprotected org.keycloak.broker.provider.BrokeredIdentityContextextractIdentity(org.keycloak.representations.AccessTokenResponse tokenResponse, String accessToken, org.keycloak.representations.JsonWebToken idToken) protected org.keycloak.broker.provider.BrokeredIdentityContextextractIdentityFromProfile(org.keycloak.events.EventBuilder event, com.fasterxml.jackson.databind.JsonNode profile) protected StringgetProfileEndpointForValidation(org.keycloak.events.EventBuilder event) protected Stringprotected StringgetUsernameFromUserInfo(com.fasterxml.jackson.databind.JsonNode userInfo) booleanprotected booleanMethods inherited from class org.keycloak.broker.oidc.OIDCIdentityProvider
authenticationFinished, backchannelLogout, backchannelLogout, callback, createAuthorizationUrl, exchangeSessionToken, exchangeStoredToken, getAllowedAudienceForJWTGrant, getAllowedClockSkew, getAssertionSignatureAlg, getDefaultScopes, getFederatedIdentity, getIdentityProviderKeyWrapper, getMaxAllowedExpiration, getUserInfoUrl, isAssertionReuseAllowed, isAuthTimeExpired, isLimitAccessTokenExpiration, isTokenTypeSupported, isType, keycloakInitiatedBrowserLogout, parseTokenInput, preprocessFederatedIdentity, processAccessTokenResponse, refreshTokenForLogout, reloadKeys, resolveKeys, setEmailVerified, validateAuthorizationGrantAssertion, validateExternalTokenThroughUserInfo, validateJwt, validateToken, validateToken, verify, verifyClientAssertion, verifySignatureMethods inherited from class org.keycloak.broker.oidc.AbstractOAuth2IdentityProvider
asJsonNode, authenticateTokenRequest, buildUserInfoRequest, doGetFederatedIdentity, exchangeExternal, exchangeExternalComplete, exchangeExternalUserInfoValidationOnly, exchangeFromToken, extractTokenFromResponse, generateToken, getAccessTokenResponseParameter, getConfig, getJsonProperty, getRefreshTokenRequest, getSignatureContext, hasExternalExchangeToken, performLogin, retrieveToken, retrieveToken, sendTokenIntrospectionRequest, supportsLongStateParameter, validateExternalTokenWithIntrospectionEndpointMethods inherited from class org.keycloak.broker.provider.AbstractIdentityProvider
buildTokenResponse, close, exchangeErrorResponse, exchangeNotLinked, exchangeNotLinkedNoStore, exchangeNotSupported, exchangeTokenExpired, exchangeUnsupportedRequiredType, getFederatedAccessToken, getLinkingUrl, getMarshaller, importNewUser, updateBrokeredUser, updateEmailMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.keycloak.broker.provider.ExchangeExternalToken
exchangeExternal, exchangeExternalCompleteMethods inherited from interface org.keycloak.broker.provider.IdentityProvider
export, getConfig, isMapperSupported, isType, reloadKeysMethods inherited from interface org.keycloak.provider.Provider
closeMethods inherited from interface org.keycloak.broker.provider.UserAuthenticationIdentityProvider
authenticationFinished, backchannelLogout, callback, getMarshaller, importNewUser, keycloakInitiatedBrowserLogout, performLogin, preprocessFederatedIdentity, retrieveToken, retrieveToken, supportsLongStateParameter, updateBrokeredUser
-
Field Details
-
AUTH_URL
- See Also:
-
TOKEN_URL
- See Also:
-
USER_INFO
- See Also:
-
READ_USER_SCOPE
- See Also:
-
-
Constructor Details
-
GitLabIdentityProvider
public GitLabIdentityProvider(org.keycloak.models.KeycloakSession session, OIDCIdentityProviderConfig config)
-
-
Method Details
-
getUsernameFromUserInfo
- Overrides:
getUsernameFromUserInfoin classOIDCIdentityProvider
-
getusernameClaimNameForIdToken
- Overrides:
getusernameClaimNameForIdTokenin classOIDCIdentityProvider
-
supportsExternalExchange
protected boolean supportsExternalExchange()- Overrides:
supportsExternalExchangein classOIDCIdentityProvider
-
getProfileEndpointForValidation
- Overrides:
getProfileEndpointForValidationin classOIDCIdentityProvider
-
isIssuer
- Specified by:
isIssuerin interfaceorg.keycloak.broker.provider.ExchangeExternalToken- Overrides:
isIssuerin classOIDCIdentityProvider
-
exchangeExternalImpl
protected org.keycloak.broker.provider.BrokeredIdentityContext exchangeExternalImpl(org.keycloak.events.EventBuilder event, jakarta.ws.rs.core.MultivaluedMap<String, String> params) Description copied from class:AbstractOAuth2IdentityProviderUsage with external-internal token-exchange- Overrides:
exchangeExternalImplin classOIDCIdentityProvider- Parameters:
event- event builderparams- parameters of the token-exchange request- Returns:
- brokered identity context with the details about user from the IDP
-
extractIdentityFromProfile
protected org.keycloak.broker.provider.BrokeredIdentityContext extractIdentityFromProfile(org.keycloak.events.EventBuilder event, com.fasterxml.jackson.databind.JsonNode profile) - Overrides:
extractIdentityFromProfilein classOIDCIdentityProvider
-
extractIdentity
protected org.keycloak.broker.provider.BrokeredIdentityContext extractIdentity(org.keycloak.representations.AccessTokenResponse tokenResponse, String accessToken, org.keycloak.representations.JsonWebToken idToken) throws IOException - Overrides:
extractIdentityin classOIDCIdentityProvider- Throws:
IOException
-