Я хочу добавить возможность входа или регистрации на моем портале разработчиков APIM через любой тип учетной записи Microsoft (личная или корпоративная, рабочая...).
Я загрузил пользовательскую политику SocialAndLocalAccounts из стартового пакета (удалил провайдера Facebook и добавил AADCommon-OpenIdConnect). Эти файлы я прикрепил ниже.
У меня возникают ошибки при попытке зарегистрироваться через локальную учетную запись или учетную запись Microsoft.
Попробуем посмотреть учетную запись Microsoft (мультитенантную)
Нажмите кнопку «Мультитенантное добавление».
Когда вы заполните адрес электронной почты и пароль, вы будете перенаправлены на webPortal.com/signup-oauth#provider=AadB2C&token=eyJhbGciOiJSUzI1NiIsImtpZ...
Вроде все хорошо, но сессия у нас потеряна, а при нажатии кнопки "зарегистрироваться" получаем исключение:
токен JWT
Аналогичное поведение у меня, когда я пытаюсь зарегистрироваться через локальную учетную запись, но на первом этапе - записываем пользователя, созданного в клиенте b2c, а затем мы можем войти по логину и паролю:
Когда я заполнил адрес электронной почты и пароль и подтвердил адрес электронной почты, возникла эта ошибка, код ошибки 401 для конечных точек «/identity» и 403 для конечных точек «/users».
Когда я пытаюсь снова нажать «Учетная запись Microsoft», сервер перенаправляет меня на эту страницу:
JWT из локальной учетной записи следующий:
Итак, арендатор Azure Active Directory B2C имеет:
Арендатор портала разработчиков APIM имеет:
URL-адрес перенаправления: https://your-b2c-tenant-name.b2clogin.com/your-B2C-tenant-name.onmicrosoft.com/oauth2/authresp
(Учетные записи в любом каталоге организации (любой идентификатор Microsoft Entra) арендатор — Мультитенант) и личные учетные записи Microsoft (например, Skype, Xbox)) - Здесь я выбрал другой вариант по сравнению со статьей
новый Поставщик удостоверений на портале разработчиков APIM Меню
Azure Active Directory B2C — есть ссылка на приложение apimb2cdemo с идентификатором. секретный ключ, имя пользовательской политики и клиентская библиотека — MSAL.
Для этой задачи я использую эти уроки:
https://learn.microsoft.com/en-us/azure/active-directory-b2c/tutorial-create-user-flows?pivots=b2c-custom-policy (от 1 до 3 уроков)
https://learn.microsoft.com/en-us/azure/api-management/api-management-howto-aad-b2c
Здесь я оставил пользовательские политики, которые использую - https://drive.google.com/drive/folders/1F1uBgF1R96dTUVziNOrw2WTH6dd_xCUH?usp=sharing
Я понятия не имею, что произошло и почему я столкнулся с этими проблемами. Не могли бы вы помочь мне с этой проблемой?
Жду любых идей и решений.
Заранее спасибо!
Можете ли вы поделиться сообщением об исключении, которое вы получаете на полной странице регистрации?
@IkhtesamAfrin Если вы спрашиваете о запросе к конечной точке «идентификации» в случаях с несколькими арендаторами, я получаю код состояния 401 «Неавторизованный» без каких-либо данных ответа... Перед отправкой запроса на идентификацию у меня есть запрос к Token, и это запрос возвращает ОК. Похоже, мой портал разработки APIM не может управлять AadB2C id_token = "eyJh" в заголовке. Нужно ли мне настраивать AOuth 2.0 или Open Connect ID на портале разработки Azure APIM?
Вы пытались открыть портал разработчика в приватном режиме или в режиме инкогнито? Как если бы вы открыли его в обычном браузере, он потребовал бы ваши учетные данные для входа.
@IkhtesamAfrin Да, я всегда использовал его в режиме инкогнито в Chrome, потому что пытаюсь использовать другой профиль.
Обратитесь к этому ТАК stackoverflow.com/questions/78675204/…
@IkhtesamAfrin Я перешел на ADAL в браузере в режиме инкогнито, когда я пытаюсь нажать кнопку «Учетная запись Microsoft» - у меня есть следующее исключение: AADB2C90057: предоставленное приложение не настроено для разрешения неявного потока «OAuth». Идентификатор корреляции: f03bf928-63cd-4aed-9c93-bc24b6c2c475 Временная метка: 2024-07-04 10:47:21Z Все приложения имеют токены доступа (используются для неявных потоков) = true и токены идентификатора (используются для неявных и гибридных потоков) = истинный
Вы установили флажок Токен доступа и токены идентификатора? Также вы добавили URL-адрес перенаправления?
Давайте продолжим обсуждение в чате.
@IkhtesamAfrin, спасибо за помощь. Я исправил эту проблему.





Рад сообщить вам, что я исправил эту проблему.
В моем случае: Я перешел на библиотеку ADAL и пропустил утверждение (oid).
Утверждения ObjectID (oid) и субъекта (sub) пользователя в токене AADB2C необходимы APIM для идентификации вызывающего абонента вызова создания пользователя APIM с портала разработчика. Отсутствие любого из этих двух утверждений приведет к проблеме AccessDenied.
Первым делом настраиваемые политики — посмотрите журналы — Learn.microsoft.com/en-us/azure/active-directory-b2c/…