Azure Active Directory B2C AADB2C90051: не найдены подходящие поставщики утверждений

Я создал пользовательские политики с SSO и переносом учетной записи (вы можете просмотреть их на GitHub здесь, Примечание: я удалил/отредактировал значения из соображений безопасности). Я хочу, чтобы пользователи могли в первый раз войти в систему с помощью социальной сети ИЛИ локальной учетной записи. Затем я перенесу их учетную запись из устаревшего поставщика удостоверений в AAD B2C. Однако в данный момент происходит следующее.

Самая большая проблема заключается в том, что когда учетная запись переносится и пользователь может войти в систему, то при попытке связать социальные учетные записи я получаю следующую ошибку.

AADB2C90051: No suitable claims providers were found.
Correlation ID: 4491cd4a-2f98-4a86-8d65-da3f7f26e890
Timestamp: 2022-11-20 10:38:05Z

Странно то, что если я сначала войду в систему с помощью Google или Facebook (которые затем переносят учетную запись), а затем войду в систему с помощью Microsoft или локальной учетной записи, это сработает. Но при первом входе в систему с помощью Microsoft или локальной учетной записи я получаю сообщение об ошибке.

Я видел этот и другие посты, но не могу найти то, что мне не хватает. Я знаю, что политики очень большие, поэтому для начала найдите в CUSTOM_USERJOURNEY.xml ProvisionOrSignInNewSocialAccount на GitHub.

Шаблоны Angular PrimeNg
Шаблоны Angular PrimeNg
Как привнести проверку типов в наши шаблоны Angular, использующие компоненты библиотеки PrimeNg, и настроить их отображение с помощью встроенной...
Создайте ползком, похожим на звездные войны, с помощью CSS и Javascript
Создайте ползком, похожим на звездные войны, с помощью CSS и Javascript
Если вы веб-разработчик (или хотите им стать), то вы наверняка гик и вам нравятся "Звездные войны". А как бы вы хотели, чтобы фоном для вашего...
Документирование API с помощью Swagger на Springboot
Документирование API с помощью Swagger на Springboot
В предыдущей статье мы уже узнали, как создать Rest API с помощью Springboot и MySql .
Начала с розового дизайна
Начала с розового дизайна
Pink Design - это система дизайна Appwrite с открытым исходным кодом для создания последовательных и многократно используемых пользовательских...
Шлюз в PHP
Шлюз в PHP
API-шлюз (AG) - это сервер, который действует как единая точка входа для набора микросервисов.
14 Задание: Типы данных и структуры данных Python для DevOps
14 Задание: Типы данных и структуры данных Python для DevOps
проверить тип данных используемой переменной, мы можем просто написать: your_variable=100
1
0
104
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

По умолчанию свойство hasPassword не существует для существующих локальных профилей пользователей B2C. Он вводится путем связывания Custom Policy. Вам нужно будет вручную (или с помощью скрипта) добавить значение true для этого свойства, и оно начнет работать.

Вы можете использовать Graph API для добавления ценности, поэтому в основном PATCH для конечной точки пользователя:

PATCH /v1.0/users/12bda93c-f782-431c-b962-52c5304c0668 HTTP/1.1
Host: graph.microsoft.com
Content-Type: application/json
Authorization: Bearer eyJ0...

{    
    "extension_67a963aa6ce74511923b85511f0f8dad_hasPassword" : true
}

Полное обсуждение смотрите здесь: https://bytemeta.vip/repo/azure-ad-b2c/samples/issues/430

Немного связано с этим вопросом, но сценарий другой: AAD-FindLocalAccountWithSocialEmail выдает Подходящие поставщики утверждений не найдены

А для модераторов, не разбирающихся в предметной области и испытывающих желание удалить этот ответ или вопрос как дубликат: сценарий в вопросе другой, а ответ тот же.

Jussi Palo 10.01.2023 08:55

Другие вопросы по теме