Package org.pac4j.core.client
Class IndirectClient<C extends Credentials>
- java.lang.Object
-
- org.pac4j.core.util.InitializableObject
-
- org.pac4j.core.client.BaseClient<C>
-
- org.pac4j.core.client.IndirectClient<C>
-
- All Implemented Interfaces:
Client<C>
public abstract class IndirectClient<C extends Credentials> extends BaseClient<C>
Indirect client: the requested protected URL is saved, the user is redirected to the identity provider for login and back to the application after the sucessful authentication and finally to the originally requested URL.- Since:
- 1.9.0
- Author:
- Jerome Leleu
-
-
Field Summary
Fields Modifier and Type Field Description static String
ATTEMPTED_AUTHENTICATION_SUFFIX
protected String
callbackUrl
protected CallbackUrlResolver
callbackUrlResolver
protected UrlResolver
urlResolver
-
Fields inherited from class org.pac4j.core.client.BaseClient
logger
-
-
Constructor Summary
Constructors Constructor Description IndirectClient()
-
Method Summary
-
Methods inherited from class org.pac4j.core.client.BaseClient
addAuthorizationGenerator, addAuthorizationGenerators, defaultAuthenticator, defaultCredentialsExtractor, defaultProfileCreator, getAuthenticator, getAuthorizationGenerators, getCredentialsExtractor, getCustomProperties, getName, getProfileCreator, getProfileFactoryWhenNotAuthenticated, getUserProfile, notifySessionRenewal, renewUserProfile, retrieveCredentials, retrieveUserProfile, setAuthenticator, setAuthorizationGenerator, setAuthorizationGenerators, setAuthorizationGenerators, setCredentialsExtractor, setCustomProperties, setName, setProfileCreator, setProfileFactoryWhenNotAuthenticated
-
Methods inherited from class org.pac4j.core.util.InitializableObject
init, isInitialized
-
-
-
-
Field Detail
-
ATTEMPTED_AUTHENTICATION_SUFFIX
public static final String ATTEMPTED_AUTHENTICATION_SUFFIX
- See Also:
- Constant Field Values
-
callbackUrl
protected String callbackUrl
-
urlResolver
protected UrlResolver urlResolver
-
callbackUrlResolver
protected CallbackUrlResolver callbackUrlResolver
-
-
Method Detail
-
internalInit
protected final void internalInit()
Description copied from class:InitializableObject
Internal initialization of the object.- Specified by:
internalInit
in classInitializableObject
-
newDefaultCallbackUrlResolver
protected CallbackUrlResolver newDefaultCallbackUrlResolver()
-
clientInit
protected abstract void clientInit()
Initialize the client.
-
getRedirectionAction
public final Optional<RedirectionAction> getRedirectionAction(WebContext context)
If an authentication has already been tried for this client and has failed (
null
credentials) or if the request is an AJAX one, an unauthorized response is thrown instead of a "redirection".- Parameters:
context
- context- Returns:
- the "redirection" action
-
getCredentials
public final Optional<C> getCredentials(WebContext context)
Get the credentials from the web context. In some cases, a
HttpAction
may be thrown:- if the
CasClient
receives a logout request, it returns a 200 HTTP status code - for the
IndirectBasicAuthClient
, if no credentials are sent to the callback url, an unauthorized response (401 HTTP status code) is returned to request credentials through a popup.
- Parameters:
context
- the current web context- Returns:
- the credentials
- if the
-
getLogoutAction
public final Optional<RedirectionAction> getLogoutAction(WebContext context, UserProfile currentProfile, String targetUrl)
Description copied from interface:Client
Return the logout action (indirect clients).
- Parameters:
context
- the current web contextcurrentProfile
- the currentProfiletargetUrl
- the target url after logout- Returns:
- the redirection to perform (optional)
-
computeFinalCallbackUrl
public String computeFinalCallbackUrl(WebContext context)
-
setCallbackUrl
public void setCallbackUrl(String callbackUrl)
-
getCallbackUrl
public String getCallbackUrl()
-
getUrlResolver
public UrlResolver getUrlResolver()
-
setUrlResolver
public void setUrlResolver(UrlResolver urlResolver)
-
getCallbackUrlResolver
public CallbackUrlResolver getCallbackUrlResolver()
-
setCallbackUrlResolver
public void setCallbackUrlResolver(CallbackUrlResolver callbackUrlResolver)
-
getAjaxRequestResolver
public AjaxRequestResolver getAjaxRequestResolver()
-
setAjaxRequestResolver
public void setAjaxRequestResolver(AjaxRequestResolver ajaxRequestResolver)
-
getRedirectionActionBuilder
public RedirectionActionBuilder getRedirectionActionBuilder()
-
defaultRedirectionActionBuilder
protected void defaultRedirectionActionBuilder(RedirectionActionBuilder redirectActionBuilder)
-
getLogoutActionBuilder
public LogoutActionBuilder getLogoutActionBuilder()
-
defaultLogoutActionBuilder
protected void defaultLogoutActionBuilder(LogoutActionBuilder logoutActionBuilder)
-
setRedirectionActionBuilder
public void setRedirectionActionBuilder(RedirectionActionBuilder redirectionActionBuilder)
-
setLogoutActionBuilder
public void setLogoutActionBuilder(LogoutActionBuilder logoutActionBuilder)
-
getStateSessionAttributeName
public String getStateSessionAttributeName()
-
getNonceSessionAttributeName
public String getNonceSessionAttributeName()
-
getCodeVerifierSessionAttributeName
public String getCodeVerifierSessionAttributeName()
-
toString
public String toString()
- Overrides:
toString
in classBaseClient<C extends Credentials>
-
-