OpenId Connect Identity Provider инициировал выход из обратного канала, не работающий

Я работаю над проектом Java Boot Spring, который управляет пользователями и сессиями внутри. Он основан на OIDC, а AWS Cognito является провайдером идентификации для входа и, как я надеюсь, выхода из пользователей. Что я понимаю из спецификации OIDC для выхода из обратного канала, так это:

  1. Я должен предоставить конечную точку для выхода из системы в моем бэкэнд-приложении. Я использую Pac4J в качестве библиотеки OIDC в Java-приложении Spring Boot и включил logout конечная точка согласно документации Pac4J Spring Security

  2. Провайдер идентификации AWS Cognito должен отправить запрос конечной точке выхода из системы, если пользователь вышел из провайдера идентификации

  3. Когда я получаю действительный вызов (согласно спецификации OIDC) на этой конечной точке, я должен уничтожить сеанс пользователя с моим приложением.

Однако пользователь, вышедший из Identity Provider (AWS Cognito), похоже, не приводит к вызову конечной точки выхода из моего приложения.

Я не могу найти документацию по этому поведению обратного канала в документации AWS Cognito.

  1. Правильно ли я понял выход из обратного канала?
  2. Это в настоящее время не поддерживается, поскольку выход из OIDC все еще (по состоянию на 12 марта 2019 г.) находится в состоянии черновика?

1 ответ

Решение

Я связался с главным разработчиком Pac4J, который очень быстро ответил.

AWS Cognito:

  • В настоящее время, кажется, не поддерживает выход из обратного канала

Pac4J:

  • Выход из обратного канала в настоящее время не поддерживается библиотекой для OIDC, и он также не включен в план действий: https://groups.google.com/forum/?fromgroups, на который ссылается / logout в документации для внутреннего (в приложение) выхода из системы + (если настроено) переадресация запроса на выход провайдеру идентификации. Это НЕ конечная точка выхода из OIDC-backchannel-logout.
Другие вопросы по тегам