Interface AsyncServerAuthContext
-
- All Known Implementing Classes:
FallbackAuthContext
public interface AsyncServerAuthContext
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 thesecureResponse(MessageContext, javax.security.auth.Subject)
method.- Since:
- 2.0.0
- See Also:
ServerAuthContext
,MessageContext
,Subject
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description Promise<Void,AuthenticationException>
cleanSubject(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.String
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 Detail
-
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
Promise<Void,AuthenticationException> cleanSubject(MessageContext context, Subject clientSubject)
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)
-
-