Вход в Azure B2C - URL-адрес эмитента не удается правильно разрешить для веб-доступа
Я использую Azure B2C для аутентификации собственного приложения форм Xamarin. Все отлично работает, используя правильный домен b2clogin.com для возврата токена доступа
Когда я пытаюсь вернуть токен с помощью Postman, он не работает, если я использую b2clogin - только login.microsoftonline.com
После недолгого размышления над этим я заглянул в Fiddler и заметил, что URL-адрес изменяется при отправке
Это происходит только когда я переключаю домен с одного на другой
Это привело меня к URL-адресу эмитента, который настраивается при включении аутентификации B2C для службы приложений в AAD и что он настроен для b2clogin, а не для live.microsoftonline.com
Другая проблема заключается в том, что домен microsoftonline возвращает токен, но не тот, который будет аутентифицироваться в моем защищенном приложении.
Я использую Почтальон для возврата токена, который работает с моим приложением. Это не так, как описано выше
Когда я смотрю в Fiddler, URL, который я передаю как Authority, выглядит так в Postman.
https://mydomainb2c.b2clogin.com/{имя домена клиента}/oauth2/v2.0/authorize?p=B2C_1_SiUpIn
был преобразован в это
https://mydomainb2c.b2clogin.com/B2C_1_SiUpIn/{имя домена клиента} /oauth2/v2.0/authorize?
Как вы можете видеть, он взял Политику и поместил ее в другом месте в URL
Это происходит ТОЛЬКО с b2clogin - не microsoftonline
Как отмечалось выше, размещаемый URL-адрес просто неверен, поэтому в Postman эффектом является постоянно обновляемая страница, которая никогда не достигает входа в систему.
1 ответ
Я выяснил, используя Fiddler, чтобы копаться в сообщениях об ошибках больше
Проблема в том, что при использовании login.microsoftonline.com вы получите токен, который не работает для каталога b2clogin
Когда вы переходите в каталог входа в систему B2C, вы должны тщательно проверить URL обратного вызова
Это была проблема в моем случае - мне пришлось поместить ответ на URL из моего зарегистрированного нативного приложения вместо обычного URL-адреса почтальона или Microsoft, который обычно идет туда