public abstract class AbstractOAuth2IdentityProvider<C extends OAuth2IdentityProviderConfig> extends AbstractIdentityProvider<C>
Modifier and Type | Class and Description |
---|---|
protected class |
AbstractOAuth2IdentityProvider.Endpoint |
IdentityProvider.AuthenticationCallback
Modifier and Type | Field and Description |
---|---|
static String |
FEDERATED_ACCESS_TOKEN |
static String |
FEDERATED_REFRESH_TOKEN |
static String |
FEDERATED_TOKEN_EXPIRATION |
protected static org.jboss.logging.Logger |
logger |
protected static org.codehaus.jackson.map.ObjectMapper |
mapper |
static String |
OAUTH2_GRANT_TYPE_AUTHORIZATION_CODE |
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 |
Constructor and Description |
---|
AbstractOAuth2IdentityProvider(C config) |
Modifier and Type | Method and Description |
---|---|
protected org.codehaus.jackson.JsonNode |
asJsonNode(String json) |
Object |
callback(RealmModel realm,
IdentityProvider.AuthenticationCallback callback,
EventBuilder event)
JAXRS callback endpoint for when the remote IDP wants to callback to keycloak.
|
protected javax.ws.rs.core.UriBuilder |
createAuthorizationUrl(AuthenticationRequest request) |
protected FederatedIdentity |
doGetFederatedIdentity(String accessToken) |
protected String |
extractTokenFromResponse(String response,
String tokenName) |
C |
getConfig() |
protected abstract String |
getDefaultScopes() |
protected FederatedIdentity |
getFederatedIdentity(Map<String,String> notes,
String response) |
protected String |
getJsonProperty(org.codehaus.jackson.JsonNode jsonNode,
String name) |
javax.ws.rs.core.Response |
handleRequest(AuthenticationRequest request)
Initiates the authentication process by sending an authentication request to an identity provider.
|
javax.ws.rs.core.Response |
retrieveToken(FederatedIdentityModel identity)
Returns a
Response containing the token previously stored during the authentication process for a
specific user. |
close, export, keycloakInitiatedBrowserLogout
protected static final org.jboss.logging.Logger logger
public static final String OAUTH2_GRANT_TYPE_AUTHORIZATION_CODE
public static final String FEDERATED_ACCESS_TOKEN
public static final String FEDERATED_REFRESH_TOKEN
public static final String FEDERATED_TOKEN_EXPIRATION
protected static org.codehaus.jackson.map.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(C config)
public Object callback(RealmModel realm, IdentityProvider.AuthenticationCallback callback, EventBuilder event)
IdentityProvider
callback
in interface IdentityProvider<C extends OAuth2IdentityProviderConfig>
callback
in class AbstractIdentityProvider<C extends OAuth2IdentityProviderConfig>
public javax.ws.rs.core.Response handleRequest(AuthenticationRequest request)
IdentityProvider
Initiates the authentication process by sending an authentication request to an identity provider. This method is called only once during the authentication.
Depending on how the authentication is performed, this method may redirect the user to the identity provider for authentication.
In this case, the response would contain a Response
that will be used to redirect the user.
However, if the authentication flow does not require a redirect to the identity provider (eg.: simple challenge/response mechanism), this method may return a response containing
a FederatedIdentity
representing the identity information for an user. In this case, the authentication flow stops.
request
- The initial authentication request. Contains all the contextual information in order to build an authentication request to the
identity provider.public javax.ws.rs.core.Response retrieveToken(FederatedIdentityModel identity)
IdentityProvider
Returns a Response
containing the token previously stored during the authentication process for a
specific user.
public C getConfig()
getConfig
in class AbstractIdentityProvider<C extends OAuth2IdentityProviderConfig>
protected String extractTokenFromResponse(String response, String tokenName)
protected FederatedIdentity getFederatedIdentity(Map<String,String> notes, String response)
protected FederatedIdentity doGetFederatedIdentity(String accessToken)
protected javax.ws.rs.core.UriBuilder createAuthorizationUrl(AuthenticationRequest request)
protected String getJsonProperty(org.codehaus.jackson.JsonNode jsonNode, String name)
protected org.codehaus.jackson.JsonNode asJsonNode(String json) throws IOException
IOException
protected abstract String getDefaultScopes()
Copyright © 2015. All rights reserved.