Skip to content

Implement end_session_endpoint for RP-Initiated Logout #266

Closed
@mcginkel

Description

@mcginkel

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."

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions