Package io.undertow.security.impl
Class SingleSignOnAuthenticationMechanism
- java.lang.Object
-
- io.undertow.security.impl.SingleSignOnAuthenticationMechanism
-
- All Implemented Interfaces:
AuthenticationMechanism
public class SingleSignOnAuthenticationMechanism extends Object implements AuthenticationMechanism
Authenticator that can be used to configure single sign on.- Author:
- Stuart Douglas, Paul Ferraro, Richard Opalka
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface io.undertow.security.api.AuthenticationMechanism
AuthenticationMechanism.AuthenticationMechanismOutcome, AuthenticationMechanism.ChallengeResult
-
-
Constructor Summary
Constructors Constructor Description SingleSignOnAuthenticationMechanism(SingleSignOnManager storage)
SingleSignOnAuthenticationMechanism(SingleSignOnManager storage, IdentityManager identityManager)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description AuthenticationMechanism.AuthenticationMechanismOutcome
authenticate(HttpServerExchange exchange, SecurityContext securityContext)
Perform authentication of the request.String
getCookieName()
String
getDomain()
String
getPath()
protected Session
getSession(HttpServerExchange exchange)
boolean
isHttpOnly()
boolean
isSecure()
AuthenticationMechanism.ChallengeResult
sendChallenge(HttpServerExchange exchange, SecurityContext securityContext)
Send an authentication challenge to the remote client.SingleSignOnAuthenticationMechanism
setCookieName(String cookieName)
SingleSignOnAuthenticationMechanism
setDomain(String domain)
SingleSignOnAuthenticationMechanism
setHttpOnly(boolean httpOnly)
SingleSignOnAuthenticationMechanism
setPath(String path)
SingleSignOnAuthenticationMechanism
setSecure(boolean secure)
-
-
-
Constructor Detail
-
SingleSignOnAuthenticationMechanism
public SingleSignOnAuthenticationMechanism(SingleSignOnManager storage)
-
SingleSignOnAuthenticationMechanism
public SingleSignOnAuthenticationMechanism(SingleSignOnManager storage, IdentityManager identityManager)
-
-
Method Detail
-
authenticate
public AuthenticationMechanism.AuthenticationMechanismOutcome authenticate(HttpServerExchange exchange, SecurityContext securityContext)
Description copied from interface:AuthenticationMechanism
Perform authentication of the request. Any potentially blocking work should be performed in the handoff executor provided- Specified by:
authenticate
in interfaceAuthenticationMechanism
- Parameters:
exchange
- The exchange- Returns:
-
sendChallenge
public AuthenticationMechanism.ChallengeResult sendChallenge(HttpServerExchange exchange, SecurityContext securityContext)
Description copied from interface:AuthenticationMechanism
Send an authentication challenge to the remote client.The individual mechanisms should update the response headers and body of the message as appropriate however they should not set the response code, instead that should be indicated in the
AuthenticationMechanism.ChallengeResult
and the most appropriate overall response code will be selected. This method should not returnnull
.- Specified by:
sendChallenge
in interfaceAuthenticationMechanism
- Parameters:
exchange
- The exchangesecurityContext
- The security context- Returns:
- A
AuthenticationMechanism.ChallengeResult
indicating if a challenge was sent and the desired response code.
-
getSession
protected Session getSession(HttpServerExchange exchange)
-
getCookieName
public String getCookieName()
-
setCookieName
public SingleSignOnAuthenticationMechanism setCookieName(String cookieName)
-
isHttpOnly
public boolean isHttpOnly()
-
setHttpOnly
public SingleSignOnAuthenticationMechanism setHttpOnly(boolean httpOnly)
-
isSecure
public boolean isSecure()
-
setSecure
public SingleSignOnAuthenticationMechanism setSecure(boolean secure)
-
getDomain
public String getDomain()
-
setDomain
public SingleSignOnAuthenticationMechanism setDomain(String domain)
-
getPath
public String getPath()
-
setPath
public SingleSignOnAuthenticationMechanism setPath(String path)
-
-