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 and Description
`SingleSignOnAuthenticationMechanism(SingleSignOnManager storage)`
`SingleSignOnAuthenticationMechanism(SingleSignOnManager storage, IdentityManager identityManager)`

### Method Summary

All Methods Instance Methods Concrete Methods
`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)`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### 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 interface `AuthenticationMechanism`
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 return `null`.

Specified by:
  `sendChallenge` in interface `AuthenticationMechanism`
Parameters:
  `exchange` - The exchange
  `securityContext` - 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)