Package org.keycloak.social.github
Class GitHubIdentityProvider
java.lang.Object
org.keycloak.broker.provider.AbstractIdentityProvider<C>
org.keycloak.broker.oidc.AbstractOAuth2IdentityProvider
org.keycloak.social.github.GitHubIdentityProvider
- All Implemented Interfaces:
- ExchangeExternalToken,- ExchangeTokenToIdentityProviderToken,- IdentityProvider,- SocialIdentityProvider,- Provider
public class GitHubIdentityProvider
extends AbstractOAuth2IdentityProvider
implements SocialIdentityProvider
- Author:
- Stian Thorgersen
- 
Nested Class SummaryNested classes/interfaces inherited from class org.keycloak.broker.oidc.AbstractOAuth2IdentityProviderAbstractOAuth2IdentityProvider.EndpointNested classes/interfaces inherited from interface org.keycloak.broker.provider.IdentityProviderIdentityProvider.AuthenticationCallback
- 
Field SummaryFieldsModifier and TypeFieldDescriptionprotected static final StringAPI URL key in config map.static final Stringstatic final StringDeprecated.protected static final StringBase URL key in config map.static final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final StringDeprecated.UseDEFAULT_EMAIL_URLinstead.protected static final StringEmail URL key in config map.static final Stringstatic final StringDeprecated.UseDEFAULT_PROFILE_URLinstead.static final Stringstatic final StringDeprecated.UseDEFAULT_TOKEN_URLinstead.Fields inherited from class org.keycloak.broker.oidc.AbstractOAuth2IdentityProviderACCESS_DENIED, FEDERATED_REFRESH_TOKEN, FEDERATED_TOKEN_EXPIRATION, logger, 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.AbstractIdentityProviderACCOUNT_LINK_URL, sessionFields inherited from interface org.keycloak.broker.provider.IdentityProviderEXTERNAL_IDENTITY_PROVIDER, FEDERATED_ACCESS_TOKEN
- 
Constructor SummaryConstructorsConstructorDescriptionGitHubIdentityProvider(KeycloakSession session, OAuth2IdentityProviderConfig config) 
- 
Method SummaryModifier and TypeMethodDescriptionprotected BrokeredIdentityContextdoGetFederatedIdentity(String accessToken) protected BrokeredIdentityContextextractIdentityFromProfile(EventBuilder event, com.fasterxml.jackson.databind.JsonNode profile) protected Stringprotected Stringprotected static StringgetUrlFromConfig(OAuth2IdentityProviderConfig config, String key, String defaultValue) Get URL from config with default value fallback.protected booleanMethods inherited from class org.keycloak.broker.oidc.AbstractOAuth2IdentityProviderasJsonNode, authenticateTokenRequest, authenticationFinished, buildUserInfoRequest, callback, createAuthorizationUrl, exchangeExternal, exchangeExternalComplete, exchangeExternalImpl, exchangeExternalUserInfoValidationOnly, exchangeFromToken, exchangeSessionToken, exchangeStoredToken, extractTokenFromResponse, generateToken, getAccessTokenResponseParameter, getConfig, getFederatedIdentity, getJsonProperty, getSignatureContext, hasExternalExchangeToken, isIssuer, performLogin, retrieveToken, validateExternalTokenThroughUserInfoMethods inherited from class org.keycloak.broker.provider.AbstractIdentityProviderbackchannelLogout, close, exchangeErrorResponse, exchangeNotLinked, exchangeNotLinkedNoStore, exchangeNotSupported, exchangeTokenExpired, exchangeUnsupportedRequiredType, export, getLinkingUrl, getMarshaller, importNewUser, keycloakInitiatedBrowserLogout, preprocessFederatedIdentity, updateBrokeredUserMethods inherited from class java.lang.Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.keycloak.broker.provider.IdentityProviderauthenticationFinished, backchannelLogout, callback, export, getMarshaller, importNewUser, keycloakInitiatedBrowserLogout, performLogin, preprocessFederatedIdentity, retrieveToken, updateBrokeredUser
- 
Field Details- 
DEFAULT_BASE_URL- See Also:
 
- 
AUTH_FRAGMENT- See Also:
 
- 
TOKEN_FRAGMENT- See Also:
 
- 
DEFAULT_AUTH_URL- See Also:
 
- 
DEFAULT_TOKEN_URL- See Also:
 
- 
AUTH_URLDeprecated.UseDEFAULT_AUTH_URLinstead.- See Also:
 
- 
TOKEN_URLDeprecated.UseDEFAULT_TOKEN_URLinstead.- See Also:
 
- 
DEFAULT_API_URL- See Also:
 
- 
PROFILE_FRAGMENT- See Also:
 
- 
EMAIL_FRAGMENT- See Also:
 
- 
DEFAULT_PROFILE_URL- See Also:
 
- 
DEFAULT_EMAIL_URL- See Also:
 
- 
PROFILE_URLDeprecated.UseDEFAULT_PROFILE_URLinstead.- See Also:
 
- 
EMAIL_URLDeprecated.UseDEFAULT_EMAIL_URLinstead.- See Also:
 
- 
DEFAULT_SCOPE- See Also:
 
- 
BASE_URL_KEYBase URL key in config map.- See Also:
 
- 
API_URL_KEYAPI URL key in config map.- See Also:
 
- 
EMAIL_URL_KEYEmail URL key in config map.- See Also:
 
 
- 
- 
Constructor Details- 
GitHubIdentityProvider
 
- 
- 
Method Details- 
getUrlFromConfigprotected static String getUrlFromConfig(OAuth2IdentityProviderConfig config, String key, String defaultValue) Get URL from config with default value fallback.- Parameters:
- config- Identity provider configuration.
- key- Key to look for value in config's config map.
- defaultValue- Default value if value at key is null or empty string.
- Returns:
- URL for specified key in the configuration with default value fallback.
 
- 
supportsExternalExchangeprotected boolean supportsExternalExchange()- Overrides:
- supportsExternalExchangein class- AbstractOAuth2IdentityProvider
 
- 
getProfileEndpointForValidation- Overrides:
- getProfileEndpointForValidationin class- AbstractOAuth2IdentityProvider
 
- 
extractIdentityFromProfileprotected BrokeredIdentityContext extractIdentityFromProfile(EventBuilder event, com.fasterxml.jackson.databind.JsonNode profile) - Overrides:
- extractIdentityFromProfilein class- AbstractOAuth2IdentityProvider
 
- 
doGetFederatedIdentity- Overrides:
- doGetFederatedIdentityin class- AbstractOAuth2IdentityProvider
 
- 
getDefaultScopes- Specified by:
- getDefaultScopesin class- AbstractOAuth2IdentityProvider
 
 
- 
DEFAULT_AUTH_URLinstead.