Package org.apache.sling.auth.core.spi

# Interface JakartaAuthenticationFeedbackHandler

All Known Implementing Classes:
  `DefaultJakartaAuthenticationFeedbackHandler`

@ConsumerType public interface JakartaAuthenticationFeedbackHandler
The `AuthenticationFeedbackHandler` may be implemented by `AuthenticationHandler` services to request being informed on the success or failure of authentication.

Since:
  1.3.0

## Method Summary

Modifier and Type
Method
Description
`void`
`authenticationFailed(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response, AuthenticationInfo authInfo)`
Called if authentication failed with the credentials provided in the `authInfo` map.
`boolean`
`authenticationSucceeded(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response, AuthenticationInfo authInfo)`
Called if authentication succeeded with the credentials provided in the `authInfo` map.

## Method Details

### authenticationFailed

void authenticationFailed(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response, AuthenticationInfo authInfo)
Called if authentication failed with the credentials provided in the `authInfo` map.

This method allows the handler to cleanup any state prepared while handling the `extractCredentials` method. Handlers are expected to not send a in this method because the Sling Authenticator will proceed to select an authentication handler whose `requestCredentials` method will be called.

Implementations may also wish to set the `JakartaAuthenticationHandler.FAILURE_REASON` request attribute to inform interested parties (including its any `JakartaAuthenticationHandler.requestCredentials(HttpServletRequest, HttpServletResponse)` method about the reasons of failure to to authenticate.

Parameters:
  `request` - The current request
  `response` - The current response
  `authInfo` - The `AuthenticationInfo` object used to authenticate the request.

### authenticationSucceeded

boolean authenticationSucceeded(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response, AuthenticationInfo authInfo)
Called if authentication succeeded with the credentials provided in the `authInfo` map.

This method is called after successful login and impersonation handling immediately before continuing with the request. The handler may choose to send its own response or to just set some response header (e.g. adding a Cookie) and return appropriately.

Parameters:
  `request` - The current request
  `response` - The current response
  `authInfo` - The `AuthenticationInfo` object used to authenticate the request.
Returns:
  `true` if the handler sent back a response to the client and request processing should be terminated at this point. If `false` is returned, the request proceeds as authenticated.