Class StackoverflowIdentityProvider
java.lang.Object
org.keycloak.broker.provider.AbstractIdentityProvider<C>
org.keycloak.broker.oidc.AbstractOAuth2IdentityProvider<StackOverflowIdentityProviderConfig>
org.keycloak.social.stackoverflow.StackoverflowIdentityProvider
- All Implemented Interfaces:
org.keycloak.broker.provider.ExchangeExternalToken,org.keycloak.broker.provider.ExchangeTokenToIdentityProviderToken,org.keycloak.broker.provider.IdentityProvider<StackOverflowIdentityProviderConfig>,org.keycloak.broker.provider.UserAuthenticationIdentityProvider<StackOverflowIdentityProviderConfig>,org.keycloak.broker.social.SocialIdentityProvider<StackOverflowIdentityProviderConfig>,org.keycloak.provider.Provider
public class StackoverflowIdentityProvider
extends AbstractOAuth2IdentityProvider<StackOverflowIdentityProviderConfig>
implements org.keycloak.broker.social.SocialIdentityProvider<StackOverflowIdentityProviderConfig>
Stackoverflow social provider. See https://api.stackexchange.com/docs/authentication
- Author:
- Vlastimil Elias (velias at redhat dot com)
-
Nested Class Summary
Nested 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.AbstractOAuth2IdentityProvider
ACCESS_DENIED, ACCESS_TOKEN_EXPIRATION, 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.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
ConstructorsConstructorDescriptionStackoverflowIdentityProvider(org.keycloak.models.KeycloakSession session, StackOverflowIdentityProviderConfig config) -
Method Summary
Modifier and TypeMethodDescriptionprotected org.keycloak.http.simple.SimpleHttpRequestbuildUserInfoRequest(String subjectToken, String userInfoUrl) protected org.keycloak.broker.provider.BrokeredIdentityContextdoGetFederatedIdentity(String accessToken) protected org.keycloak.broker.provider.BrokeredIdentityContextextractIdentityFromProfile(org.keycloak.events.EventBuilder event, com.fasterxml.jackson.databind.JsonNode node) protected static StringextractUsernameFromProfileURL(String profileURL) protected Stringprotected StringgetProfileEndpointForValidation(org.keycloak.events.EventBuilder event) protected booleanstatic final StringunescapeHtml3(String input) Methods inherited from class org.keycloak.broker.oidc.AbstractOAuth2IdentityProvider
asJsonNode, authenticateTokenRequest, authenticationFinished, callback, createAuthorizationUrl, exchangeExternal, exchangeExternalComplete, exchangeExternalImpl, exchangeExternalUserInfoValidationOnly, exchangeFromToken, exchangeSessionToken, exchangeStoredToken, extractTokenFromResponse, generateToken, getAccessTokenResponseParameter, getConfig, getFederatedIdentity, getJsonProperty, getRefreshTokenRequest, getSignatureContext, hasExternalExchangeToken, isIssuer, performLogin, retrieveToken, retrieveToken, sendTokenIntrospectionRequest, supportsLongStateParameter, validateExternalTokenThroughUserInfo, validateExternalTokenWithIntrospectionEndpointMethods inherited from class org.keycloak.broker.provider.AbstractIdentityProvider
backchannelLogout, buildTokenResponse, close, exchangeErrorResponse, exchangeNotLinked, exchangeNotLinkedNoStore, exchangeNotSupported, exchangeTokenExpired, exchangeUnsupportedRequiredType, getFederatedAccessToken, getLinkingUrl, getMarshaller, importNewUser, keycloakInitiatedBrowserLogout, preprocessFederatedIdentity, setEmailVerified, 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.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:
-
PROFILE_URL
- See Also:
-
DEFAULT_SCOPE
- See Also:
-
-
Constructor Details
-
StackoverflowIdentityProvider
public StackoverflowIdentityProvider(org.keycloak.models.KeycloakSession session, StackOverflowIdentityProviderConfig config)
-
-
Method Details
-
supportsExternalExchange
protected boolean supportsExternalExchange()- Overrides:
supportsExternalExchangein classAbstractOAuth2IdentityProvider<StackOverflowIdentityProviderConfig>
-
getProfileEndpointForValidation
-
buildUserInfoRequest
protected org.keycloak.http.simple.SimpleHttpRequest buildUserInfoRequest(String subjectToken, String userInfoUrl) - Overrides:
buildUserInfoRequestin classAbstractOAuth2IdentityProvider<StackOverflowIdentityProviderConfig>
-
extractIdentityFromProfile
protected org.keycloak.broker.provider.BrokeredIdentityContext extractIdentityFromProfile(org.keycloak.events.EventBuilder event, com.fasterxml.jackson.databind.JsonNode node) - Overrides:
extractIdentityFromProfilein classAbstractOAuth2IdentityProvider<StackOverflowIdentityProviderConfig>
-
doGetFederatedIdentity
protected org.keycloak.broker.provider.BrokeredIdentityContext doGetFederatedIdentity(String accessToken) - Overrides:
doGetFederatedIdentityin classAbstractOAuth2IdentityProvider<StackOverflowIdentityProviderConfig>
-
extractUsernameFromProfileURL
-
getDefaultScopes
- Specified by:
getDefaultScopesin classAbstractOAuth2IdentityProvider<StackOverflowIdentityProviderConfig>
-
unescapeHtml3
-