public abstract class AbstractOAuth2IdentityProvider<C extends OAuth2IdentityProviderConfig> extends AbstractIdentityProvider<C> implements ExchangeTokenToIdentityProviderToken, ExchangeExternalToken
| Modifier and Type | Class and Description |
|---|---|
protected class |
AbstractOAuth2IdentityProvider.Endpoint |
IdentityProvider.AuthenticationCallback| Modifier and Type | Field and Description |
|---|---|
static String |
ACCESS_DENIED |
static String |
FEDERATED_REFRESH_TOKEN |
static String |
FEDERATED_TOKEN_EXPIRATION |
protected static org.jboss.logging.Logger |
logger |
protected static com.fasterxml.jackson.databind.ObjectMapper |
mapper |
static String |
OAUTH2_GRANT_TYPE_AUTHORIZATION_CODE |
static String |
OAUTH2_GRANT_TYPE_REFRESH_TOKEN |
static String |
OAUTH2_PARAMETER_ACCESS_TOKEN |
static String |
OAUTH2_PARAMETER_CLIENT_ID |
static String |
OAUTH2_PARAMETER_CLIENT_SECRET |
static String |
OAUTH2_PARAMETER_CODE |
static String |
OAUTH2_PARAMETER_GRANT_TYPE |
static String |
OAUTH2_PARAMETER_REDIRECT_URI |
static String |
OAUTH2_PARAMETER_RESPONSE_TYPE |
static String |
OAUTH2_PARAMETER_SCOPE |
static String |
OAUTH2_PARAMETER_STATE |
ACCOUNT_LINK_URL, sessionEXTERNAL_IDENTITY_PROVIDER, FEDERATED_ACCESS_TOKEN| Constructor and Description |
|---|
AbstractOAuth2IdentityProvider(KeycloakSession session,
C config) |
| Modifier and Type | Method and Description |
|---|---|
com.fasterxml.jackson.databind.JsonNode |
asJsonNode(String json) |
void |
authenticationFinished(AuthenticationSessionModel authSession,
BrokeredIdentityContext context) |
protected SimpleHttp |
buildUserInfoRequest(String subjectToken,
String userInfoUrl) |
Object |
callback(RealmModel realm,
IdentityProvider.AuthenticationCallback callback,
EventBuilder event) |
protected javax.ws.rs.core.UriBuilder |
createAuthorizationUrl(AuthenticationRequest request) |
protected BrokeredIdentityContext |
doGetFederatedIdentity(String accessToken) |
BrokeredIdentityContext |
exchangeExternal(EventBuilder event,
javax.ws.rs.core.MultivaluedMap<String,String> params) |
void |
exchangeExternalComplete(UserSessionModel userSession,
BrokeredIdentityContext context,
javax.ws.rs.core.MultivaluedMap<String,String> params) |
protected BrokeredIdentityContext |
exchangeExternalImpl(EventBuilder event,
javax.ws.rs.core.MultivaluedMap<String,String> params) |
protected BrokeredIdentityContext |
exchangeExternalUserInfoValidationOnly(EventBuilder event,
javax.ws.rs.core.MultivaluedMap<String,String> params) |
javax.ws.rs.core.Response |
exchangeFromToken(javax.ws.rs.core.UriInfo uriInfo,
EventBuilder event,
ClientModel authorizedClient,
UserSessionModel tokenUserSession,
UserModel tokenSubject,
javax.ws.rs.core.MultivaluedMap<String,String> params) |
protected javax.ws.rs.core.Response |
exchangeSessionToken(javax.ws.rs.core.UriInfo uriInfo,
EventBuilder event,
ClientModel authorizedClient,
UserSessionModel tokenUserSession,
UserModel tokenSubject) |
protected javax.ws.rs.core.Response |
exchangeStoredToken(javax.ws.rs.core.UriInfo uriInfo,
EventBuilder event,
ClientModel authorizedClient,
UserSessionModel tokenUserSession,
UserModel tokenSubject) |
protected BrokeredIdentityContext |
extractIdentityFromProfile(EventBuilder event,
com.fasterxml.jackson.databind.JsonNode node) |
protected String |
extractTokenFromResponse(String response,
String tokenName) |
protected String |
getAccessTokenResponseParameter() |
C |
getConfig() |
protected abstract String |
getDefaultScopes() |
BrokeredIdentityContext |
getFederatedIdentity(String response) |
String |
getJsonProperty(com.fasterxml.jackson.databind.JsonNode jsonNode,
String name)
Get JSON property as text.
|
protected String |
getProfileEndpointForValidation(EventBuilder event) |
protected javax.ws.rs.core.Response |
hasExternalExchangeToken(EventBuilder event,
UserSessionModel tokenUserSession,
javax.ws.rs.core.MultivaluedMap<String,String> params)
check to see if we have a token exchange in session
in other words check to see if this session was created by an external exchange
|
boolean |
isIssuer(String issuer,
javax.ws.rs.core.MultivaluedMap<String,String> params) |
javax.ws.rs.core.Response |
performLogin(AuthenticationRequest request) |
javax.ws.rs.core.Response |
retrieveToken(KeycloakSession session,
FederatedIdentityModel identity) |
protected boolean |
supportsExternalExchange() |
protected BrokeredIdentityContext |
validateExternalTokenThroughUserInfo(EventBuilder event,
String subjectToken,
String subjectTokenType) |
backchannelLogout, close, exchangeErrorResponse, exchangeNotLinked, exchangeNotLinkedNoStore, exchangeNotSupported, exchangeTokenExpired, exchangeUnsupportedRequiredType, export, getLinkingUrl, getMarshaller, importNewUser, keycloakInitiatedBrowserLogout, preprocessFederatedIdentity, updateBrokeredUserprotected static final org.jboss.logging.Logger logger
public static final String OAUTH2_GRANT_TYPE_REFRESH_TOKEN
public static final String OAUTH2_GRANT_TYPE_AUTHORIZATION_CODE
public static final String FEDERATED_REFRESH_TOKEN
public static final String FEDERATED_TOKEN_EXPIRATION
public static final String ACCESS_DENIED
protected static com.fasterxml.jackson.databind.ObjectMapper mapper
public static final String OAUTH2_PARAMETER_ACCESS_TOKEN
public static final String OAUTH2_PARAMETER_SCOPE
public static final String OAUTH2_PARAMETER_STATE
public static final String OAUTH2_PARAMETER_RESPONSE_TYPE
public static final String OAUTH2_PARAMETER_REDIRECT_URI
public static final String OAUTH2_PARAMETER_CODE
public static final String OAUTH2_PARAMETER_CLIENT_ID
public static final String OAUTH2_PARAMETER_CLIENT_SECRET
public static final String OAUTH2_PARAMETER_GRANT_TYPE
public AbstractOAuth2IdentityProvider(KeycloakSession session, C config)
public Object callback(RealmModel realm, IdentityProvider.AuthenticationCallback callback, EventBuilder event)
callback in interface IdentityProvider<C extends OAuth2IdentityProviderConfig>callback in class AbstractIdentityProvider<C extends OAuth2IdentityProviderConfig>public javax.ws.rs.core.Response performLogin(AuthenticationRequest request)
performLogin in interface IdentityProvider<C extends OAuth2IdentityProviderConfig>performLogin in class AbstractIdentityProvider<C extends OAuth2IdentityProviderConfig>public javax.ws.rs.core.Response retrieveToken(KeycloakSession session, FederatedIdentityModel identity)
retrieveToken in interface IdentityProvider<C extends OAuth2IdentityProviderConfig>public C getConfig()
getConfig in class AbstractIdentityProvider<C extends OAuth2IdentityProviderConfig>protected String extractTokenFromResponse(String response, String tokenName)
public javax.ws.rs.core.Response exchangeFromToken(javax.ws.rs.core.UriInfo uriInfo,
EventBuilder event,
ClientModel authorizedClient,
UserSessionModel tokenUserSession,
UserModel tokenSubject,
javax.ws.rs.core.MultivaluedMap<String,String> params)
exchangeFromToken in interface ExchangeTokenToIdentityProviderTokenprotected javax.ws.rs.core.Response hasExternalExchangeToken(EventBuilder event, UserSessionModel tokenUserSession, javax.ws.rs.core.MultivaluedMap<String,String> params)
tokenUserSession - params - protected javax.ws.rs.core.Response exchangeStoredToken(javax.ws.rs.core.UriInfo uriInfo,
EventBuilder event,
ClientModel authorizedClient,
UserSessionModel tokenUserSession,
UserModel tokenSubject)
protected javax.ws.rs.core.Response exchangeSessionToken(javax.ws.rs.core.UriInfo uriInfo,
EventBuilder event,
ClientModel authorizedClient,
UserSessionModel tokenUserSession,
UserModel tokenSubject)
public BrokeredIdentityContext getFederatedIdentity(String response)
protected String getAccessTokenResponseParameter()
protected BrokeredIdentityContext doGetFederatedIdentity(String accessToken)
protected javax.ws.rs.core.UriBuilder createAuthorizationUrl(AuthenticationRequest request)
public String getJsonProperty(com.fasterxml.jackson.databind.JsonNode jsonNode, String name)
jsonNode - to get property fromname - of property to getpublic com.fasterxml.jackson.databind.JsonNode asJsonNode(String json) throws IOException
IOExceptionprotected abstract String getDefaultScopes()
public void authenticationFinished(AuthenticationSessionModel authSession, BrokeredIdentityContext context)
authenticationFinished in interface IdentityProvider<C extends OAuth2IdentityProviderConfig>authenticationFinished in class AbstractIdentityProvider<C extends OAuth2IdentityProviderConfig>protected String getProfileEndpointForValidation(EventBuilder event)
protected BrokeredIdentityContext extractIdentityFromProfile(EventBuilder event, com.fasterxml.jackson.databind.JsonNode node)
protected BrokeredIdentityContext validateExternalTokenThroughUserInfo(EventBuilder event, String subjectToken, String subjectTokenType)
protected SimpleHttp buildUserInfoRequest(String subjectToken, String userInfoUrl)
protected boolean supportsExternalExchange()
public boolean isIssuer(String issuer, javax.ws.rs.core.MultivaluedMap<String,String> params)
isIssuer in interface ExchangeExternalTokenpublic final BrokeredIdentityContext exchangeExternal(EventBuilder event, javax.ws.rs.core.MultivaluedMap<String,String> params)
exchangeExternal in interface ExchangeExternalTokenprotected BrokeredIdentityContext exchangeExternalImpl(EventBuilder event, javax.ws.rs.core.MultivaluedMap<String,String> params)
protected BrokeredIdentityContext exchangeExternalUserInfoValidationOnly(EventBuilder event, javax.ws.rs.core.MultivaluedMap<String,String> params)
public void exchangeExternalComplete(UserSessionModel userSession, BrokeredIdentityContext context, javax.ws.rs.core.MultivaluedMap<String,String> params)
exchangeExternalComplete in interface ExchangeExternalTokenCopyright © 2018 JBoss by Red Hat. All rights reserved.