Azure B2 C (IEF / Пользовательская политика) - параметр State - PullRequest
0 голосов
/ 11 февраля 2020

У меня есть следующий поток для входа / регистрации при использовании регистрации:

  1. Присутствует пользователь с экраном регистрации, позволяющий им вводить адрес электронной почты / пароль / имя
  2. Подтвердить ввод, затем отправить электронное письмо (остальные API) и установить атрибуты проверки в b2 c Свойства пользовательского расширения

Затем пользователь получает письмо со ссылкой для проверки

Пользователь щелкает ссылку в сообщении электронной почты и отправляется в поездку нового пользователя для обратной поездки Путешествие нового пользователя получает параметры из строки запроса (адрес электронной почты + проверенный код) B2 C проверяет проверенный код + срок действия ЕСЛИ пользователь подтвержден, он устанавливается как проверенный с помощью пользовательских атрибутов расширения, а затем отправляется в приложение (ASP. NET MVC). Вот где я застрял - B2 C означает отправку токена jwt обратно в приложение, но пользователь не получает вход в систему.

Я что-то упустил на шаге 7? У меня нет переменной "state" в моей строке запроса. Должен ли я собирать и каким-либо образом включать ее, чтобы B2 C и приложение могли обмениваться данными? Я потерян в этой точке. Я бы опубликовал некоторые из правил b2 c xml, но не уверен, что это могло бы помочь ...

РЕДАКТИРОВАТЬ: ответ Jas:

Is что единственный способ (сделать вызов приложения b2 c для запроса авторизации)? У нас есть несколько приложений, которые пользователь может использовать для регистрации через b2 c, поэтому я надеялся избежать внесения изменений в каждое из них. Вместо этого я надеялся, что B2 C сможет сообщить приложению после проверки аккаунта, что «с этим пользователем все в порядке».

Я уже ранее смотрел на https://github.com/azure-ad-b2c/samples/tree/master/policies/sign-in-with-magic-link (написано вами!) , но опять-таки надеялся, что мне не придется выполнять эту работу внутри каждого из наших приложений.

Вот пример jwt 'id_token', который я пытаюсь передать приложению:

id_token

Примечание: действительно ли id_token совпадает с id_token_hint? Я не мог найти, одинаковые они или разные, когда гуглят.

1 Ответ

0 голосов
/ 12 февраля 2020

Что вам нужно сделать, это отправить ссылку приглашения в электронном письме в виде ссылки на приложение, например, https://myapp.com?id_token_hint=value. Затем попросите вашего контроллера учетной записи приложения сделать запрос авторизации к политике, чтобы завершить погашение учетной записи вместе с дополнительным параметром запроса «id_token_hint = value». Теперь правильная аутентификация может произойти с инициализированным промежуточным программным обеспечением openId ваших приложений.

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