public class CrowdHttpAuthenticatorImpl extends Object implements CrowdHttpAuthenticator
An implementation of CrowdHttpAuthenticator using a CrowdClient
to talk to a Crowd server. All methods potentially result in calls to a
remote Crowd server.
If the ClientProperties
provided has a session validation
interval configured then isAuthenticated(HttpServletRequest, HttpServletResponse)
will only make remote calls when that interval expires.
Constructor and Description |
---|
CrowdHttpAuthenticatorImpl(CrowdClient client,
ClientProperties clientProperties,
CrowdHttpTokenHelper tokenHelper) |
CrowdHttpAuthenticatorImpl(CrowdClient client,
ClientProperties clientProperties,
CrowdHttpTokenHelper tokenHelper,
TokenLockProvider tokenLockProvider) |
Modifier and Type | Method and Description |
---|---|
User |
authenticate(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response,
String username,
String password)
Authenticates the user based on provided credentials.
|
User |
authenticateWithoutValidatingPassword(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response,
String username)
Authenticates the user without validating password.
|
AuthenticationState |
checkAuthenticated(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response)
Tests whether a request is authenticated via SSO.
|
String |
getToken(javax.servlet.http.HttpServletRequest request)
Retrieves the Crowd authentication token from the request.
|
User |
getUser(javax.servlet.http.HttpServletRequest request)
Attempts to retrieve the currently authenticated User from the request.
|
boolean |
isAuthenticated(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response)
Deprecated.
|
void |
logout(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response)
Logs out the authenticated user.
|
public CrowdHttpAuthenticatorImpl(CrowdClient client, ClientProperties clientProperties, CrowdHttpTokenHelper tokenHelper)
public CrowdHttpAuthenticatorImpl(CrowdClient client, ClientProperties clientProperties, CrowdHttpTokenHelper tokenHelper, TokenLockProvider tokenLockProvider)
public User getUser(javax.servlet.http.HttpServletRequest request) throws InvalidTokenException, ApplicationPermissionException, InvalidAuthenticationException, OperationFailedException
CrowdHttpAuthenticator
getUser
in interface CrowdHttpAuthenticator
request
- HTTP request, possibly containing a Crowd SSO cookie.User
or null
if the there is no authenticated user.InvalidTokenException
- if the token in the request is not valid.ApplicationPermissionException
- if the application is not permitted to perform the requested operation on the server.InvalidAuthenticationException
- if the application and password are not valid.OperationFailedException
- if the operation has failed for an unknown reason.public User authenticate(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, String username, String password) throws InvalidTokenException, ApplicationAccessDeniedException, ExpiredCredentialException, InactiveAccountException, ApplicationPermissionException, InvalidAuthenticationException, OperationFailedException
CrowdHttpAuthenticator
Validation factors (such as IP address) are extracted from the request.
If the user is successfully authenticated, the Crowd SSO token is placed in:
If the credentials fail authentication, any existing Crowd SSO token is removed from:
authenticate
in interface CrowdHttpAuthenticator
request
- request to set the Crowd SSO tokenresponse
- response to set the Crowd SSO token cookieusername
- username to authenticatepassword
- password of the userApplicationPermissionException
- if the application is not permitted to perform the requested operation on the server.InvalidAuthenticationException
- if the application and password are not valid.OperationFailedException
- if the operation has failed for an unknown reason.InvalidTokenException
ApplicationAccessDeniedException
ExpiredCredentialException
InactiveAccountException
public User authenticateWithoutValidatingPassword(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, String username) throws InvalidTokenException, ApplicationAccessDeniedException, InactiveAccountException, ApplicationPermissionException, InvalidAuthenticationException, OperationFailedException
CrowdHttpAuthenticator
Validation factors (such as IP address) are extracted from the request.
If the user is successfully authenticated, the Crowd SSO token is placed in:
If authentication fails, any existing Crowd SSO token is removed from:
authenticateWithoutValidatingPassword
in interface CrowdHttpAuthenticator
request
- request to set the Crowd SSO tokenresponse
- response to set the Crowd SSO token cookieusername
- username to authenticateApplicationPermissionException
- if the application is not permitted to perform the requested operation on the server.InvalidAuthenticationException
- if the application and password are not valid.OperationFailedException
- if the operation has failed for an unknown reason.InvalidTokenException
ApplicationAccessDeniedException
InactiveAccountException
@Deprecated public boolean isAuthenticated(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws OperationFailedException
CrowdHttpAuthenticator
isAuthenticated
in interface CrowdHttpAuthenticator
request
- HttpServletRequestresponse
- HttpServletResponsetrue
if and only if the request has been authenticated.OperationFailedException
- if the operation has failed for an unknown reason.public AuthenticationState checkAuthenticated(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws OperationFailedException
CrowdHttpAuthenticator
checkAuthenticated
in interface CrowdHttpAuthenticator
request
- HttpServletRequestresponse
- HttpServletResponseOperationFailedException
- if the operation has failed for an unknown reason.public void logout(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws ApplicationPermissionException, InvalidAuthenticationException, OperationFailedException
CrowdHttpAuthenticator
logout
in interface CrowdHttpAuthenticator
request
- request contains the Crowd SSO token to invalidate and hence log the user out.response
- response returns a request to remove the token cookie from the user browser.ApplicationPermissionException
- if the application is not permitted to perform the requested operation on the server.InvalidAuthenticationException
- if the application and password are not valid.OperationFailedException
- if the operation has failed for an unknown reason.public String getToken(javax.servlet.http.HttpServletRequest request)
CrowdHttpAuthenticator
getToken
in interface CrowdHttpAuthenticator
request
- request to look for the Crowd SSO token.Copyright © 2021 Atlassian. All rights reserved.