Package org.keycloak.services.resources
Class LoginActionsService
- java.lang.Object
- 
- org.keycloak.services.resources.LoginActionsService
 
- 
 public class LoginActionsService extends Object - Author:
- Stian Thorgersen
 
- 
- 
Field SummaryFields 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 SummaryConstructors Constructor Description LoginActionsService(KeycloakSession session, EventBuilder event)
 - 
Method SummaryAll 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_PATHpublic static final String AUTHENTICATE_PATH - See Also:
- Constant Field Values
 
 - 
REGISTRATION_PATHpublic static final String REGISTRATION_PATH - See Also:
- Constant Field Values
 
 - 
RESET_CREDENTIALS_PATHpublic static final String RESET_CREDENTIALS_PATH - See Also:
- Constant Field Values
 
 - 
REQUIRED_ACTIONpublic static final String REQUIRED_ACTION - See Also:
- Constant Field Values
 
 - 
FIRST_BROKER_LOGIN_PATHpublic static final String FIRST_BROKER_LOGIN_PATH - See Also:
- Constant Field Values
 
 - 
POST_BROKER_LOGIN_PATHpublic static final String POST_BROKER_LOGIN_PATH - See Also:
- Constant Field Values
 
 - 
RESTART_PATHpublic static final String RESTART_PATH - See Also:
- Constant Field Values
 
 - 
FORWARDED_ERROR_MESSAGE_NOTEpublic static final String FORWARDED_ERROR_MESSAGE_NOTE - See Also:
- Constant Field Values
 
 - 
SESSION_CODEpublic static final String SESSION_CODE - See Also:
- Constant Field Values
 
 - 
AUTH_SESSION_IDpublic static final String AUTH_SESSION_ID - See Also:
- Constant Field Values
 
 - 
CANCEL_AIApublic static final String CANCEL_AIA - See Also:
- Constant Field Values
 
 - 
headersprotected final javax.ws.rs.core.HttpHeaders headers 
 - 
sessionprotected final KeycloakSession session 
 
- 
 - 
Constructor Detail- 
LoginActionsServicepublic LoginActionsService(KeycloakSession session, EventBuilder event) 
 
- 
 - 
Method Detail- 
loginActionsBaseUrlpublic static javax.ws.rs.core.UriBuilder loginActionsBaseUrl(javax.ws.rs.core.UriInfo uriInfo) 
 - 
authenticationFormProcessorpublic static javax.ws.rs.core.UriBuilder authenticationFormProcessor(javax.ws.rs.core.UriInfo uriInfo) 
 - 
requiredActionProcessorpublic static javax.ws.rs.core.UriBuilder requiredActionProcessor(javax.ws.rs.core.UriInfo uriInfo) 
 - 
actionTokenProcessorpublic static javax.ws.rs.core.UriBuilder actionTokenProcessor(javax.ws.rs.core.UriInfo uriInfo) 
 - 
registrationFormProcessorpublic static javax.ws.rs.core.UriBuilder registrationFormProcessor(javax.ws.rs.core.UriInfo uriInfo) 
 - 
firstBrokerLoginProcessorpublic static javax.ws.rs.core.UriBuilder firstBrokerLoginProcessor(javax.ws.rs.core.UriInfo uriInfo) 
 - 
postBrokerLoginProcessorpublic static javax.ws.rs.core.UriBuilder postBrokerLoginProcessor(javax.ws.rs.core.UriInfo uriInfo) 
 - 
loginActionsBaseUrlpublic static javax.ws.rs.core.UriBuilder loginActionsBaseUrl(javax.ws.rs.core.UriBuilder baseUriBuilder) 
 - 
getLastExecutionUrlprotected 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:
 
 - 
processLocaleParamprotected void processLocaleParam(AuthenticationSessionModel authSession) 
 - 
processAuthenticationprotected javax.ws.rs.core.Response processAuthentication(boolean action, String execution, AuthenticationSessionModel authSession, String errorMessage)
 - 
processFlowprotected 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:
 
 - 
resetCredentialsprotected 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:
 
 - 
handleActionTokenprotected <T extends JsonWebToken & SingleUseObjectKeyModel> javax.ws.rs.core.Response handleActionToken(String tokenString, String execution, String clientId, String tabId) 
 - 
processResetCredentialsprotected javax.ws.rs.core.Response processResetCredentials(boolean actionRequest, String execution, AuthenticationSessionModel authSession, String errorMessage)
 - 
processRegistrationprotected 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)
 - 
brokerLoginFlowprotected javax.ws.rs.core.Response brokerLoginFlow(String authSessionId, String code, String execution, String clientId, String tabId, String flowPath) 
 - 
redirectToAfterBrokerLoginEndpointpublic 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)
 
- 
 
-