Package org.keycloak.services.resources
Class LoginActionsService
- java.lang.Object
-
- org.keycloak.services.resources.LoginActionsService
-
public class LoginActionsService extends Object
- Author:
- Stian Thorgersen
-
-
Field Summary
Fields Modifier and Type Field Description static StringAUTH_SESSION_IDstatic StringAUTHENTICATE_PATHstatic StringCANCEL_AIAstatic StringFIRST_BROKER_LOGIN_PATHstatic StringFORWARDED_ERROR_MESSAGE_NOTEprotected javax.ws.rs.core.HttpHeadersheadersstatic StringPOST_BROKER_LOGIN_PATHstatic StringREGISTRATION_PATHstatic StringREQUIRED_ACTIONstatic StringRESET_CREDENTIALS_PATHstatic StringRESTART_PATHprotected KeycloakSessionsessionstatic StringSESSION_CODE
-
Constructor Summary
Constructors Constructor Description LoginActionsService(KeycloakSession session, EventBuilder event)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static javax.ws.rs.core.UriBuilderactionTokenProcessor(javax.ws.rs.core.UriInfo uriInfo)javax.ws.rs.core.Responseauthenticate(String authSessionId, String code, String execution, String clientId, String tabId)protocol independent login page entry pointjavax.ws.rs.core.ResponseauthenticateForm(String authSessionId, String code, String execution, String clientId, String tabId)URL called after login page.static javax.ws.rs.core.UriBuilderauthenticationFormProcessor(javax.ws.rs.core.UriInfo uriInfo)protected javax.ws.rs.core.ResponsebrokerLoginFlow(String authSessionId, String code, String execution, String clientId, String tabId, String flowPath)javax.ws.rs.core.ResponseexecuteActionToken(String authSessionId, String key, String execution, String clientId, String tabId)Handles a given token using the given token handler.javax.ws.rs.core.ResponsefirstBrokerLoginGet(String authSessionId, String code, String execution, String clientId, String tabId)javax.ws.rs.core.ResponsefirstBrokerLoginPost(String authSessionId, String code, String execution, String clientId, String tabId)static javax.ws.rs.core.UriBuilderfirstBrokerLoginProcessor(javax.ws.rs.core.UriInfo uriInfo)protected URIgetLastExecutionUrl(String flowPath, String executionId, String clientId, String tabId)protected <T extends JsonWebToken & SingleUseObjectKeyModel>
javax.ws.rs.core.ResponsehandleActionToken(String tokenString, String execution, String clientId, String tabId)static javax.ws.rs.core.UriBuilderloginActionsBaseUrl(javax.ws.rs.core.UriBuilder baseUriBuilder)static javax.ws.rs.core.UriBuilderloginActionsBaseUrl(javax.ws.rs.core.UriInfo uriInfo)javax.ws.rs.core.ResponsepostBrokerLoginGet(String authSessionId, String code, String execution, String clientId, String tabId)javax.ws.rs.core.ResponsepostBrokerLoginPost(String authSessionId, String code, String execution, String clientId, String tabId)static javax.ws.rs.core.UriBuilderpostBrokerLoginProcessor(javax.ws.rs.core.UriInfo uriInfo)protected javax.ws.rs.core.ResponseprocessAuthentication(boolean action, String execution, AuthenticationSessionModel authSession, String errorMessage)javax.ws.rs.core.ResponseprocessConsent()OAuth grant page.protected javax.ws.rs.core.ResponseprocessFlow(boolean action, String execution, AuthenticationSessionModel authSession, String flowPath, AuthenticationFlowModel flow, String errorMessage, AuthenticationProcessor processor)protected voidprocessLocaleParam(AuthenticationSessionModel authSession)javax.ws.rs.core.ResponseprocessRegister(String authSessionId, String code, String execution, String clientId, String tabId)Registrationprotected javax.ws.rs.core.ResponseprocessRegistration(boolean action, String execution, AuthenticationSessionModel authSession, String errorMessage)protected javax.ws.rs.core.ResponseprocessResetCredentials(boolean actionRequest, String execution, AuthenticationSessionModel authSession, String errorMessage)static javax.ws.rs.core.ResponseredirectToAfterBrokerLoginEndpoint(KeycloakSession session, RealmModel realm, javax.ws.rs.core.UriInfo uriInfo, AuthenticationSessionModel authSession, boolean firstBrokerLogin)javax.ws.rs.core.ResponseregisterPage(String authSessionId, String code, String execution, String clientId, String tabId)protocol independent registration page entry pointstatic javax.ws.rs.core.UriBuilderregistrationFormProcessor(javax.ws.rs.core.UriInfo uriInfo)javax.ws.rs.core.ResponserequiredActionGET(String authSessionId, String code, String action, String clientId, String tabId)javax.ws.rs.core.ResponserequiredActionPOST(String authSessionId, String code, String action, String clientId, String tabId)static javax.ws.rs.core.UriBuilderrequiredActionProcessor(javax.ws.rs.core.UriInfo uriInfo)protected javax.ws.rs.core.ResponseresetCredentials(String authSessionId, String code, String execution, String clientId, String tabId)javax.ws.rs.core.ResponseresetCredentialsGET(String authSessionId, String code, String execution, String clientId, String tabId)Endpoint for executing reset credentials flow.javax.ws.rs.core.ResponseresetCredentialsPOST(String authSessionId, String code, String execution, String clientId, String tabId, String key)javax.ws.rs.core.ResponserestartSession(String authSessionId, String clientId, String tabId)protocol independent page for restart of the flow
-
-
-
Field Detail
-
AUTHENTICATE_PATH
public static final String AUTHENTICATE_PATH
- See Also:
- Constant Field Values
-
REGISTRATION_PATH
public static final String REGISTRATION_PATH
- See Also:
- Constant Field Values
-
RESET_CREDENTIALS_PATH
public static final String RESET_CREDENTIALS_PATH
- See Also:
- Constant Field Values
-
REQUIRED_ACTION
public static final String REQUIRED_ACTION
- See Also:
- Constant Field Values
-
FIRST_BROKER_LOGIN_PATH
public static final String FIRST_BROKER_LOGIN_PATH
- See Also:
- Constant Field Values
-
POST_BROKER_LOGIN_PATH
public static final String POST_BROKER_LOGIN_PATH
- See Also:
- Constant Field Values
-
RESTART_PATH
public static final String RESTART_PATH
- See Also:
- Constant Field Values
-
FORWARDED_ERROR_MESSAGE_NOTE
public static final String FORWARDED_ERROR_MESSAGE_NOTE
- See Also:
- Constant Field Values
-
SESSION_CODE
public static final String SESSION_CODE
- See Also:
- Constant Field Values
-
AUTH_SESSION_ID
public static final String AUTH_SESSION_ID
- See Also:
- Constant Field Values
-
CANCEL_AIA
public static final String CANCEL_AIA
- See Also:
- Constant Field Values
-
headers
protected final javax.ws.rs.core.HttpHeaders headers
-
session
protected final KeycloakSession session
-
-
Constructor Detail
-
LoginActionsService
public LoginActionsService(KeycloakSession session, EventBuilder event)
-
-
Method Detail
-
loginActionsBaseUrl
public static javax.ws.rs.core.UriBuilder loginActionsBaseUrl(javax.ws.rs.core.UriInfo uriInfo)
-
authenticationFormProcessor
public static javax.ws.rs.core.UriBuilder authenticationFormProcessor(javax.ws.rs.core.UriInfo uriInfo)
-
requiredActionProcessor
public static javax.ws.rs.core.UriBuilder requiredActionProcessor(javax.ws.rs.core.UriInfo uriInfo)
-
actionTokenProcessor
public static javax.ws.rs.core.UriBuilder actionTokenProcessor(javax.ws.rs.core.UriInfo uriInfo)
-
registrationFormProcessor
public static javax.ws.rs.core.UriBuilder registrationFormProcessor(javax.ws.rs.core.UriInfo uriInfo)
-
firstBrokerLoginProcessor
public static javax.ws.rs.core.UriBuilder firstBrokerLoginProcessor(javax.ws.rs.core.UriInfo uriInfo)
-
postBrokerLoginProcessor
public static javax.ws.rs.core.UriBuilder postBrokerLoginProcessor(javax.ws.rs.core.UriInfo uriInfo)
-
loginActionsBaseUrl
public static javax.ws.rs.core.UriBuilder loginActionsBaseUrl(javax.ws.rs.core.UriBuilder baseUriBuilder)
-
getLastExecutionUrl
protected URI getLastExecutionUrl(String flowPath, String executionId, String clientId, String tabId)
-
restartSession
@Path("restart") @GET public javax.ws.rs.core.Response restartSession(@QueryParam("auth_session_id") String authSessionId, @QueryParam("client_id") String clientId, @QueryParam("tab_id") String tabId)protocol independent page for restart of the flow- Returns:
-
authenticate
@Path("authenticate") @GET public javax.ws.rs.core.Response authenticate(@QueryParam("auth_session_id") String authSessionId, @QueryParam("session_code") String code, @QueryParam("execution") String execution, @QueryParam("client_id") String clientId, @QueryParam("tab_id") String tabId)protocol independent login page entry point- Parameters:
code-- Returns:
-
processLocaleParam
protected void processLocaleParam(AuthenticationSessionModel authSession)
-
processAuthentication
protected javax.ws.rs.core.Response processAuthentication(boolean action, String execution, AuthenticationSessionModel authSession, String errorMessage)
-
processFlow
protected javax.ws.rs.core.Response processFlow(boolean action, String execution, AuthenticationSessionModel authSession, String flowPath, AuthenticationFlowModel flow, String errorMessage, AuthenticationProcessor processor)
-
authenticateForm
@Path("authenticate") @POST public javax.ws.rs.core.Response authenticateForm(@QueryParam("auth_session_id") String authSessionId, @QueryParam("session_code") String code, @QueryParam("execution") String execution, @QueryParam("client_id") String clientId, @QueryParam("tab_id") String tabId)URL called after login page. YOU SHOULD NEVER INVOKE THIS DIRECTLY!- Parameters:
code-- Returns:
-
resetCredentialsPOST
@Path("reset-credentials") @POST public javax.ws.rs.core.Response resetCredentialsPOST(@QueryParam("auth_session_id") String authSessionId, @QueryParam("session_code") String code, @QueryParam("execution") String execution, @QueryParam("client_id") String clientId, @QueryParam("tab_id") String tabId, @QueryParam("key") String key)
-
resetCredentialsGET
@Path("reset-credentials") @GET public javax.ws.rs.core.Response resetCredentialsGET(@QueryParam("auth_session_id") String authSessionId, @QueryParam("session_code") String code, @QueryParam("execution") String execution, @QueryParam("client_id") String clientId, @QueryParam("tab_id") String tabId)Endpoint for executing reset credentials flow. If token is null, a authentication session is created with the account service as the client. Successful reset sends you to the account page. Note, account service must be enabled.- Parameters:
code-execution-- Returns:
-
resetCredentials
protected javax.ws.rs.core.Response resetCredentials(String authSessionId, String code, String execution, String clientId, String tabId)
- Parameters:
code-execution-- Returns:
-
executeActionToken
@Path("action-token") @GET public javax.ws.rs.core.Response executeActionToken(@QueryParam("auth_session_id") String authSessionId, @QueryParam("key") String key, @QueryParam("execution") String execution, @QueryParam("client_id") String clientId, @QueryParam("tab_id") String tabId)Handles a given token using the given token handler. If there is anyVerificationExceptionthrown in the handler, it is handled automatically here to reduce boilerplate code.- Parameters:
key-execution-- Returns:
-
handleActionToken
protected <T extends JsonWebToken & SingleUseObjectKeyModel> javax.ws.rs.core.Response handleActionToken(String tokenString, String execution, String clientId, String tabId)
-
processResetCredentials
protected javax.ws.rs.core.Response processResetCredentials(boolean actionRequest, String execution, AuthenticationSessionModel authSession, String errorMessage)
-
processRegistration
protected javax.ws.rs.core.Response processRegistration(boolean action, String execution, AuthenticationSessionModel authSession, String errorMessage)
-
registerPage
@Path("registration") @GET public javax.ws.rs.core.Response registerPage(@QueryParam("auth_session_id") String authSessionId, @QueryParam("session_code") String code, @QueryParam("execution") String execution, @QueryParam("client_id") String clientId, @QueryParam("tab_id") String tabId)protocol independent registration page entry point- Parameters:
code-- Returns:
-
processRegister
@Path("registration") @POST public javax.ws.rs.core.Response processRegister(@QueryParam("auth_session_id") String authSessionId, @QueryParam("session_code") String code, @QueryParam("execution") String execution, @QueryParam("client_id") String clientId, @QueryParam("tab_id") String tabId)Registration- Parameters:
code-- Returns:
-
firstBrokerLoginGet
@Path("first-broker-login") @GET public javax.ws.rs.core.Response firstBrokerLoginGet(@QueryParam("auth_session_id") String authSessionId, @QueryParam("session_code") String code, @QueryParam("execution") String execution, @QueryParam("client_id") String clientId, @QueryParam("tab_id") String tabId)
-
firstBrokerLoginPost
@Path("first-broker-login") @POST public javax.ws.rs.core.Response firstBrokerLoginPost(@QueryParam("auth_session_id") String authSessionId, @QueryParam("session_code") String code, @QueryParam("execution") String execution, @QueryParam("client_id") String clientId, @QueryParam("tab_id") String tabId)
-
postBrokerLoginGet
@Path("post-broker-login") @GET public javax.ws.rs.core.Response postBrokerLoginGet(@QueryParam("auth_session_id") String authSessionId, @QueryParam("session_code") String code, @QueryParam("execution") String execution, @QueryParam("client_id") String clientId, @QueryParam("tab_id") String tabId)
-
postBrokerLoginPost
@Path("post-broker-login") @POST public javax.ws.rs.core.Response postBrokerLoginPost(@QueryParam("auth_session_id") String authSessionId, @QueryParam("session_code") String code, @QueryParam("execution") String execution, @QueryParam("client_id") String clientId, @QueryParam("tab_id") String tabId)
-
brokerLoginFlow
protected javax.ws.rs.core.Response brokerLoginFlow(String authSessionId, String code, String execution, String clientId, String tabId, String flowPath)
-
redirectToAfterBrokerLoginEndpoint
public static javax.ws.rs.core.Response redirectToAfterBrokerLoginEndpoint(KeycloakSession session, RealmModel realm, javax.ws.rs.core.UriInfo uriInfo, AuthenticationSessionModel authSession, boolean firstBrokerLogin)
-
processConsent
@Path("consent") @POST @Consumes("application/x-www-form-urlencoded") public javax.ws.rs.core.Response processConsent()OAuth grant page. You should not invoked this directly!- Returns:
-
requiredActionPOST
@Path("required-action") @POST public javax.ws.rs.core.Response requiredActionPOST(@QueryParam("auth_session_id") String authSessionId, @QueryParam("session_code") String code, @QueryParam("execution") String action, @QueryParam("client_id") String clientId, @QueryParam("tab_id") String tabId)
-
requiredActionGET
@Path("required-action") @GET public javax.ws.rs.core.Response requiredActionGET(@QueryParam("auth_session_id") String authSessionId, @QueryParam("session_code") String code, @QueryParam("execution") String action, @QueryParam("client_id") String clientId, @QueryParam("tab_id") String tabId)
-
-