Support custom validation in OidcLogoutAuthenticationProvider

- Similar to custom validation in OAuth2AuthorizationCodeRequestAuthenticationProvider

Closes gh-1693
This commit is contained in:
Daniel Garnier-Moiroux
2024-09-16 16:01:16 +02:00
committed by Joe Grandja
parent 7f82a0b9f4
commit acd4fd0227
5 changed files with 252 additions and 7 deletions

View File

@@ -554,6 +554,18 @@ public SecurityFilterChain authorizationServerSecurityFilterChain(HttpSecurity h
[TIP]
`OidcClientInitiatedLogoutSuccessHandler` is the corresponding configuration in Spring Securitys OAuth2 Client support for configuring {spring-security-reference-base-url}/servlet/oauth2/login/advanced.html#oauth2login-advanced-oidc-logout[OpenID Connect 1.0 RP-Initiated Logout].
[[oidc-logout-endpoint-customizing-logout-request-validation]]
=== Customizing Logout Request Validation
`OidcLogoutAuthenticationValidator` is the default validator used for validating specific OpenID Connect Logout request parameters used in the RP-Initiated Logout flow.
The default implementation validates the `post_logout_redirect_uri` parameter.
If validation fails, an `OAuth2AuthenticationException` is thrown.
`OidcLogoutAuthenticationProvider` provides the ability to override the default logout request validation by supplying a custom authentication validator of type `Consumer<OidcLogoutAuthenticationContext>` to `setAuthenticationValidator()`.
[IMPORTANT]
If validation fails, the authentication validator *MUST* throw `OAuth2AuthenticationException`.
[[oidc-user-info-endpoint]]
== OpenID Connect 1.0 UserInfo Endpoint