Interface AsyncServerAuthContext
- All Known Implementing Classes:
FallbackAuthContext
An asynchronous interface counterpart for the
ServerAuthContext
. Responsible for passing request
and response messages to its configured modules based on the logic this authentication context
defines.
Module instance MUST be constructed and initialized before being passed to the authentication context instance.
Implementations of this interface must be thread-safe as instances may be used concurrently
by multiple requests. If the authentication context needs to store any state for a single
request it should store the state in the MessageContext
so that it can be retrieved
later for the in the secureResponse(MessageContext, javax.security.auth.Subject)
method.
- Since:
- 2.0.0
- See Also:
-
ServerAuthContext
MessageContext
Subject
-
Method Summary
Modifier and TypeMethodDescriptioncleanSubject
(MessageContext context, Subject clientSubject) Removes any method specific principals and credentials from the client subject.Promise<javax.security.auth.message.AuthStatus,
AuthenticationException> secureResponse
(MessageContext context, Subject serviceSubject) Secures the outgoing response message.toString()
A short but useful description of this authentication context.Promise<javax.security.auth.message.AuthStatus,
AuthenticationException> validateRequest
(MessageContext context, Subject clientSubject, Subject serviceSubject) Validates the incoming request message.
-
Method Details
-
validateRequest
Promise<javax.security.auth.message.AuthStatus,AuthenticationException> validateRequest(MessageContext context, Subject clientSubject, Subject serviceSubject) Validates the incoming request message.- Parameters:
context
- The message context for this request.clientSubject
- ASubject
that represents the subject of this request.serviceSubject
- ASubject
that represents the subject for the server ornull
. It may be used to secure the message response.- Returns:
A
Promise
that will be completed, as some point in the future, with either a successful value or a failure value.A successfully completed
Promise
will contain anAuthStatus
representing the completion status of the message processing. SeeServerAuth.validateRequest(javax.security.auth.message.MessageInfo, Subject, Subject)
for the allowedAuthStatus
values.A failed completed
Promise
will contain anAuthenticationException
when the message processing failed without establishing a failure response message in theMessageContext
.- See Also:
-
AuthStatus
ServerAuth.validateRequest(javax.security.auth.message.MessageInfo, Subject, Subject)
-
secureResponse
Promise<javax.security.auth.message.AuthStatus,AuthenticationException> secureResponse(MessageContext context, Subject serviceSubject) Secures the outgoing response message.- Parameters:
context
- The message context for this request.serviceSubject
- ASubject
that represents the subject for the server ornull
. It may be used to secure the message response.- Returns:
A
Promise
that will be completed, as some point in the future, with either a successful value or a failure value.A successfully completed
Promise
will contain anAuthStatus
representing the completion status of the processing. SeeServerAuth.secureResponse(javax.security.auth.message.MessageInfo, Subject)
for the allowedAuthStatus
values. NoteAuthStatus.SEND_CONTINUE
is not supported by this interfaceA failed completed
Promise
will contain anAuthenticationException
when the message processing failed without establishing a failure response message in theMessageContext
.- See Also:
-
AuthStatus
ServerAuth.secureResponse(javax.security.auth.message.MessageInfo, Subject)
-
cleanSubject
Removes any method specific principals and credentials from the client subject.- Parameters:
context
- The message context for this request.clientSubject
- ASubject
that represents the subject of this request.- Returns:
- A
Promise
that will be completed, as some point in the future, with either a successful value or a failure value. A successfully completedPromise
will contain no value and a failed completedPromise
will contain anAuthenticationException
if an error occurs during theSubject
processing. - See Also:
-
ServerAuth.cleanSubject(javax.security.auth.message.MessageInfo, Subject)
-
toString
String toString()A short but useful description of this authentication context. Description should include at least the IDs of the module this context manages.
-