OpenId Connect Identity Provider инициировал выход из обратного канала, не работающий - PullRequest
6 голосов
/ 12 марта 2019

Я работаю над проектом java Spring Boot , который управляет пользователями и сессиями внутренне. Он основан на 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 Ответ

0 голосов
/ 13 марта 2019

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

AWS Cognito:

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

Pac4J:

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