Используя IdentityServer4 с Google в качестве внешнего IdP, как определить, когда пользователь выходит из Google напрямую? - PullRequest
0 голосов
/ 02 ноября 2019

IdentityServer4 работает с Google в качестве стороннего поставщика удостоверений. Когда пользователь входит в IdentityServer через Google, как я могу заставить IdentityServer обнаруживать или иным образом получать оповещения, когда пользователь выходит из Google напрямую? Чтобы было ясно, я не пытаюсь выйти из Google, когда он выходит из IdentityServer.

Согласно документам IdentityServer4:

"Федеративный выходситуация, когда пользователь использовал внешнего поставщика удостоверений для входа в IdentityServer, а затем пользователь выходит из этого внешнего поставщика удостоверений через рабочий процесс, неизвестный IdentityServer ... Не все внешние поставщики удостоверений поддерживают федеративный выход, но те, которыеdo предоставит механизм уведомления клиентов о выходе пользователя ".

Поддерживает ли это Google? Я предполагаю, хотя и не уверен, что эта функция проходит через конечную точку OIDC "check_session_iframe", которую я не вижу в документе открытия Google (https://accounts.google.com/.well-known/openid-configuration).

Если Google поддерживает это, как мне это сделать? настроить в IdentityServer или через клиентское приложение (используя oidc-client-js), чтобы получить это уведомление? В настоящее время я обрабатываю событие oidc-client-js UserMangager для addUserSignedOut (), где я ожидал, что это будет происходить. когда я выхожу из IdentityServer напрямую, это вызывается.

1 Ответ

0 голосов
/ 07 ноября 2019

Внешние поставщики удостоверений Google и Facebook не поддерживают федеративный выход. Для получения дополнительной информации обратитесь к этой ссылке - Identity Server 4 - федеративный выход из Google при использовании в качестве idp

Однако те поставщики удостоверений, которые поддерживают федеративный выход, для OpenIdConnect , вы можете использовать метод OpenIdConnectEvents in services.AddAuthentication().AddOpenIdConnect(...) в Startup.cs для проверки события удаленного выхода.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...