Description
Expected Behavior
Implement the end_session endpoint to support rp initiated logout according to the spec in https://openid.net/specs/openid-connect-rpinitiated-1_0.html#rfc.section.2
Scope: implement MUST and enough SHOULD so the scenario described in context is supported
Current Behavior
Not yet supported.
Context
When I use the spring-authorization-server to facilitate aso via openid-connect, I am not aware of an alternative way to logout and return to the client app.
If I logout now in the client app I cannot add the OidcClientInitiatedLogoutSuccessHandler as described in
https://docs.spring.io/spring-security/site/docs/current/reference/html5/#oauth2login-advanced-oidc-logout
Expected work:
- Add '"end_session_endpoint"' to the OpenID Provider’s Discovery Metadata endpoint (/.well-known/openid-configuration)
- implement end_session_endpoint to initiate logout on the authorization server
- support Logout requests with id_token_hint (check validity)
- support Logout requests without a valid id_token_hint value: request confirmation screen
- support post_logout_redirect_uri
- include post_logout_redirect_uris at Client's Registration information
- optional: support state parameter
not yet in scope: (as it seems too much work for one issue)
"As part of the OP logging out the End-User, the OP uses the logout mechanism(s) registered by the RPs to notify any RPs logged in as that End-User that they are to likewise log out the End-User. RPs can use any of OpenID Connect Session Management 1.0 [OpenID.Session], OpenID Connect Front-Channel Logout 1.0 [OpenID.FrontChannel], and/or OpenID Connect Back-Channel Logout 1.0 [OpenID.BackChannel] to receive logout notifications from the OP, depending upon which of these mechanisms the OP and RPs mutually support."