Последующий вход в систему с несколькими учетными записями Google - PullRequest
0 голосов
/ 29 мая 2019

Я интегрировал Azure AD B2C в свое веб-приложение и использую MSAL на клиенте.Я использую Google для социального IDP.

Используя Chrome, я начинаю только с одного идентификатора Google (foo1@gmail.com).Мое приложение вызывает loginRedirect(...), и я могу использовать foo1@gmail.com для успешного входа в Google.Если я затем закрою эту вкладку браузера (но не браузера), открою новую и снова заставлю мое приложение вызывать MSAL loginRedirect(), я автоматически войду в систему как foo1@gmail.com, и все будет хорошо.Предположительно, файл cookie b2clogin.com используется для запоминания предыдущей информации для входа в систему.

Если затем я добавлю другую идентификацию Google в смесь (foo2@gmail.com), поведение изменится.Повторяя сценарий выше, когда мое приложение сначала вызывает loginRedirect(), и я пытаюсь войти в систему через Google, меня просят выбрать между foo1@gmail.com и foo2@gmail.com, как и ожидалось.Я выбираю foo1@gmail.com и захожу очень хорошо.Если я затем закрою эту вкладку, открою новую и снова вызову свое приложение loginRedirect (), я автоматически попаду на страницу Google «Войти в Google / Выбрать учетную запись», где мне нужно выбрать между foo1@gmail.com иfoo2@gmail.com.Похоже, что AADB2C сохранило достаточно информации, чтобы знать, что я ранее вошел в систему через Google, но фактическая идентификация Google, которая использовалась ранее, не выбирается автоматически, как я ожидал.

Следуя указаниям в эта статья Я могу обойти эту проблему, сохранив последний использованный адрес электронной почты в файле cookie сеанса, а затем б) передав адрес электронной почты в Google в качестве логина_подсказки, но, похоже, это будет работать только с Google.Мы бы предпочли решение, которое будет работать для любого социального IDP.

Есть ли способ заставить AADB2C / Google автоматически выбрать предыдущую личность, не используя login_hint?

1 Ответ

0 голосов
/ 19 июня 2019

Вы испытываете поведение при входе в Google, а не Azure AD B2C.

Google запоминает, кто вошел в текущий сеанс (например, foo1@gmail.com), а также кто вошел в текущий браузер в последних сеансах (например, foo1@gmail.com и foo2@gmail.com).

(Google также позволяет множественный вход .)

Использование login_hint Google задокументировано на здесь .

login_hint - это концепция OpenID Connect, поэтому Google, как поставщик OpenID Connect, поддерживает его, но многие поставщики OAuth 2.0 этого не делают (по крайней мере, поддерживают его стандартным способом).

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