io.undertow.security.api.AuthenticationMechanism for GSSAPI / SPNEGO based authentication.
GSSAPI authentication is associated with the HTTP connection, as long as a connection is being re-used allow the authentication state to be re-used.
TODO - May consider an option to allow it to also be associated with the underlying session but that has it's own risks so would need to come with a warning.
| Modifier and Type | Class and Description |
|---|---|
| private class | |
| private static class |
| Modifier and Type | Field and Description |
|---|---|
| private static final Oid[] | |
| public static final ExclusivityChecker | |
| private final IdentityManager | |
| private final Oid[] | |
| private static final String | |
| private static final String | |
| private static final String | |
| private final GSSAPIServerSubjectFactory |
| Access | Constructor and Description |
|---|---|
| public | GSSAPIAuthenticationMechanism(final GSSAPIServerSubjectFactory subjectFactory, IdentityManager identityManager, Oid... supportedMechanisms)
|
| public | GSSAPIAuthenticationMechanism(final GSSAPIServerSubjectFactory subjectFactory, Oid... supportedMechanisms)
|
| public |
| Modifier and Type | Method and Description |
|---|---|
| public AuthenticationMechanism. | authenticate(final HttpServerExchange
The exchange exchange, final SecurityContext securityContext)Implements io. Perform authentication of the request. |
| private String | |
| private IdentityManager | |
| public AuthenticationMechanism. | runGSSAPI(final HttpServerExchange exchange, final ByteBuffer challenge, final SecurityContext securityContext)
|
| public AuthenticationMechanism. | sendChallenge(final HttpServerExchange
The exchange exchange, final SecurityContext The security context securityContext)Implements io. Send an authentication challenge to the remote client. |
| DEFAULT_MECHANISMS | back to summary |
|---|---|
| private static final Oid[] DEFAULT_MECHANISMS | |
| EXCLUSIVITY_CHECKER | back to summary |
|---|---|
| public static final ExclusivityChecker EXCLUSIVITY_CHECKER | |
| identityManager | back to summary |
|---|---|
| private final IdentityManager identityManager | |
| mechanisms | back to summary |
|---|---|
| private final Oid[] mechanisms | |
| name | back to summary |
|---|---|
| private static final String name | |
| NEGOTIATE_PREFIX | back to summary |
|---|---|
| private static final String NEGOTIATE_PREFIX | |
| NEGOTIATION_PLAIN | back to summary |
|---|---|
| private static final String NEGOTIATION_PLAIN | |
| subjectFactory | back to summary |
|---|---|
| private final GSSAPIServerSubjectFactory subjectFactory | |
| GSSAPIAuthenticationMechanism | back to summary |
|---|---|
| public GSSAPIAuthenticationMechanism(final GSSAPIServerSubjectFactory subjectFactory, IdentityManager identityManager, Oid... supportedMechanisms) | |
| GSSAPIAuthenticationMechanism | back to summary |
|---|---|
| public GSSAPIAuthenticationMechanism(final GSSAPIServerSubjectFactory subjectFactory, Oid... supportedMechanisms) | |
| GSSAPIAuthenticationMechanism | back to summary |
|---|---|
| public GSSAPIAuthenticationMechanism(final GSSAPIServerSubjectFactory subjectFactory) | |
| authenticate | back to summary |
|---|---|
| public AuthenticationMechanism. Implements io. Doc from io. Perform authentication of the request. Any potentially blocking work should be performed in the handoff executor provided
| |
| getHostName | back to summary |
|---|---|
| private String getHostName(final HttpServerExchange exchange) | |
| getIdentityManager | back to summary |
|---|---|
private IdentityManager getIdentityManager(SecurityContext securityContext)
| |
| runGSSAPI | back to summary |
|---|---|
| public AuthenticationMechanism. | |
| sendChallenge | back to summary |
|---|---|
| public AuthenticationMechanism. Implements io. Doc from io. 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
| |
| Modifier and Type | Field and Description |
|---|---|
| private final ByteBuffer | |
| private final HttpServerExchange | |
| private final SecurityContext |
| Access | Constructor and Description |
|---|---|
| private | AcceptSecurityContext(final HttpServerExchange exchange, final ByteBuffer challenge, final SecurityContext securityContext)
|
| Modifier and Type | Method and Description |
|---|---|
| public AuthenticationMechanism. |
| challenge | back to summary |
|---|---|
| private final ByteBuffer challenge | |
| exchange | back to summary |
|---|---|
| private final HttpServerExchange exchange | |
| securityContext | back to summary |
|---|---|
| private final SecurityContext securityContext | |
| AcceptSecurityContext | back to summary |
|---|---|
| private AcceptSecurityContext(final HttpServerExchange exchange, final ByteBuffer challenge, final SecurityContext securityContext) | |
| run | back to summary |
|---|---|
| public AuthenticationMechanism. Implements java. Doc from java. Performs the computation. This method will be called by
| |
| Modifier and Type | Field and Description |
|---|---|
| pack-priv static final AttachmentKey | |
| private GSSContext | |
| private Principal | |
| private byte[] |
| Access | Constructor and Description |
|---|---|
| private |
| Modifier and Type | Method and Description |
|---|---|
| pack-priv GSSContext | |
| pack-priv Principal | |
| pack-priv boolean | |
| pack-priv void | |
| pack-priv void | |
| pack-priv byte[] |
| ATTACHMENT_KEY | back to summary |
|---|---|
| pack-priv static final AttachmentKey<GSSAPIAuthenticationMechanism. | |
| gssContext | back to summary |
|---|---|
| private GSSContext gssContext | |
| principal | back to summary |
|---|---|
| private Principal principal | |
| responseToken | back to summary |
|---|---|
| private byte[] responseToken | |
| NegotiationContext | back to summary |
|---|---|
| private NegotiationContext() | |
| getGssContext | back to summary |
|---|---|
| pack-priv GSSContext getGssContext() | |
| getPrincipal | back to summary |
|---|---|
| pack-priv Principal getPrincipal() | |
| isEstablished | back to summary |
|---|---|
| pack-priv boolean isEstablished() | |
| setGssContext | back to summary |
|---|---|
| pack-priv void setGssContext(GSSContext gssContext) | |
| setResponseToken | back to summary |
|---|---|
| pack-priv void setResponseToken(byte[] responseToken) | |
| useResponseToken | back to summary |
|---|---|
| pack-priv byte[] useResponseToken() | |