Я интегрировал 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?