fix(op): terminate session from request in legacy server (#465)

This commit is contained in:
Tim Möhlmann 2023-10-24 10:16:58 +03:00 committed by GitHub
parent ef9477cac0
commit 164c5b28c7
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -336,9 +336,14 @@ func (s *LegacyServer) EndSession(ctx context.Context, r *Request[oidc.EndSessio
if err != nil {
return nil, err
}
err = s.provider.Storage().TerminateSession(ctx, session.UserID, session.ClientID)
redirect := session.RedirectURI
if fromRequest, ok := s.provider.Storage().(CanTerminateSessionFromRequest); ok {
redirect, err = fromRequest.TerminateSessionFromRequest(ctx, session)
} else {
err = s.provider.Storage().TerminateSession(ctx, session.UserID, session.ClientID)
}
if err != nil {
return nil, err
}
return NewRedirect(session.RedirectURI), nil
return NewRedirect(redirect), nil
}