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.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
-
-
Field Summary
Fields Modifier and Type Field Description static String
AUTH_URL
static String
DEFAULT_SCOPE
static String
PROFILE_URL
static String
TOKEN_URL
-
Fields inherited from class org.keycloak.broker.oidc.AbstractOAuth2IdentityProvider
ACCESS_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_STATE
-
-
Constructor Summary
Constructors Constructor Description StackoverflowIdentityProvider(org.keycloak.models.KeycloakSession session, StackOverflowIdentityProviderConfig config)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected org.keycloak.broker.provider.util.SimpleHttp
buildUserInfoRequest(String subjectToken, String userInfoUrl)
protected org.keycloak.broker.provider.BrokeredIdentityContext
doGetFederatedIdentity(String accessToken)
protected org.keycloak.broker.provider.BrokeredIdentityContext
extractIdentityFromProfile(org.keycloak.events.EventBuilder event, com.fasterxml.jackson.databind.JsonNode node)
protected static String
extractUsernameFromProfileURL(String profileURL)
protected String
getDefaultScopes()
protected String
getProfileEndpointForValidation(org.keycloak.events.EventBuilder event)
protected boolean
supportsExternalExchange()
static String
unescapeHtml3(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, getSignatureContext, hasExternalExchangeToken, isIssuer, performLogin, retrieveToken, validateExternalTokenThroughUserInfo
-
Methods inherited from class org.keycloak.broker.provider.AbstractIdentityProvider
backchannelLogout, close, exchangeErrorResponse, exchangeNotLinked, exchangeNotLinkedNoStore, exchangeNotSupported, exchangeTokenExpired, exchangeUnsupportedRequiredType, export, getLinkingUrl, getMarshaller, importNewUser, keycloakInitiatedBrowserLogout, preprocessFederatedIdentity, updateBrokeredUser
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
-
-
-
Field Detail
-
AUTH_URL
public static final String AUTH_URL
- See Also:
- Constant Field Values
-
TOKEN_URL
public static final String TOKEN_URL
- See Also:
- Constant Field Values
-
PROFILE_URL
public static final String PROFILE_URL
- See Also:
- Constant Field Values
-
DEFAULT_SCOPE
public static final String DEFAULT_SCOPE
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
StackoverflowIdentityProvider
public StackoverflowIdentityProvider(org.keycloak.models.KeycloakSession session, StackOverflowIdentityProviderConfig config)
-
-
Method Detail
-
supportsExternalExchange
protected boolean supportsExternalExchange()
- Overrides:
supportsExternalExchange
in classAbstractOAuth2IdentityProvider<StackOverflowIdentityProviderConfig>
-
getProfileEndpointForValidation
protected String getProfileEndpointForValidation(org.keycloak.events.EventBuilder event)
-
buildUserInfoRequest
protected org.keycloak.broker.provider.util.SimpleHttp buildUserInfoRequest(String subjectToken, String userInfoUrl)
- Overrides:
buildUserInfoRequest
in classAbstractOAuth2IdentityProvider<StackOverflowIdentityProviderConfig>
-
extractIdentityFromProfile
protected org.keycloak.broker.provider.BrokeredIdentityContext extractIdentityFromProfile(org.keycloak.events.EventBuilder event, com.fasterxml.jackson.databind.JsonNode node)
- Overrides:
extractIdentityFromProfile
in classAbstractOAuth2IdentityProvider<StackOverflowIdentityProviderConfig>
-
doGetFederatedIdentity
protected org.keycloak.broker.provider.BrokeredIdentityContext doGetFederatedIdentity(String accessToken)
- Overrides:
doGetFederatedIdentity
in classAbstractOAuth2IdentityProvider<StackOverflowIdentityProviderConfig>
-
extractUsernameFromProfileURL
protected static String extractUsernameFromProfileURL(String profileURL)
-
getDefaultScopes
protected String getDefaultScopes()
- Specified by:
getDefaultScopes
in classAbstractOAuth2IdentityProvider<StackOverflowIdentityProviderConfig>
-
-