Package org.keycloak.protocol
Class AuthorizationEndpointBase
- java.lang.Object
-
- org.keycloak.protocol.AuthorizationEndpointBase
-
- Direct Known Subclasses:
AuthorizationEndpoint,DeviceEndpoint,DockerEndpoint,SamlService
public abstract class AuthorizationEndpointBase extends Object
Common base class for Authorization REST endpoints implementation, which have to be implemented by each protocol.- Author:
- Vlastimil Elias (velias at redhat dot com)
-
-
Field Summary
Fields Modifier and Type Field Description static StringAPP_INITIATED_FLOWprotected AuthenticationManagerauthManagerprotected ClientConnectionclientConnectionprotected EventBuildereventprotected javax.ws.rs.core.HttpHeadersheadersprotected HttpRequesthttpRequestprotected RealmModelrealmprotected KeycloakSessionsession
-
Constructor Summary
Constructors Constructor Description AuthorizationEndpointBase(KeycloakSession session, EventBuilder event)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidcheckRealm()protected voidcheckSsl()protected AuthenticationSessionModelcreateAuthenticationSession(ClientModel client, String requestState)protected AuthenticationProcessorcreateProcessor(AuthenticationSessionModel authSession, String flowId, String flowPath)protected AuthenticationFlowModelgetAuthenticationFlow(AuthenticationSessionModel authSession)protected javax.ws.rs.core.ResponsehandleBrowserAuthenticationRequest(AuthenticationSessionModel authSession, LoginProtocol protocol, boolean isPassive, boolean redirectToAuthentication)Common method to handle browser authentication request in protocols unified way.
-
-
-
Field Detail
-
APP_INITIATED_FLOW
public static final String APP_INITIATED_FLOW
- See Also:
- Constant Field Values
-
realm
protected final RealmModel realm
-
event
protected final EventBuilder event
-
authManager
protected AuthenticationManager authManager
-
headers
protected final javax.ws.rs.core.HttpHeaders headers
-
httpRequest
protected final HttpRequest httpRequest
-
session
protected final KeycloakSession session
-
clientConnection
protected final ClientConnection clientConnection
-
-
Constructor Detail
-
AuthorizationEndpointBase
public AuthorizationEndpointBase(KeycloakSession session, EventBuilder event)
-
-
Method Detail
-
createProcessor
protected AuthenticationProcessor createProcessor(AuthenticationSessionModel authSession, String flowId, String flowPath)
-
handleBrowserAuthenticationRequest
protected javax.ws.rs.core.Response handleBrowserAuthenticationRequest(AuthenticationSessionModel authSession, LoginProtocol protocol, boolean isPassive, boolean redirectToAuthentication)
Common method to handle browser authentication request in protocols unified way.- Parameters:
authSession- for current requestprotocol- handler for protocol used to initiate loginisPassive- set to true if login should be passive (without login screen shown)redirectToAuthentication- if true redirect to flow url. If initial call to protocol is a POST, you probably want to do this. This is so we can disable the back button on browser- Returns:
- response to be returned to the browser
-
getAuthenticationFlow
protected AuthenticationFlowModel getAuthenticationFlow(AuthenticationSessionModel authSession)
-
checkSsl
protected void checkSsl()
-
checkRealm
protected void checkRealm()
-
createAuthenticationSession
protected AuthenticationSessionModel createAuthenticationSession(ClientModel client, String requestState)
-
-