azure-active-directory - Azure Active Directory B2C AADB2C90051 : No suitable claims providers were found

标签 azure-active-directory azure-ad-b2c-custom-policy azure-ad-b2c

我已经使用 SSO 和帐户迁移创建了自定义策略( you can view them on GitHub here ,注意:出于安全原因,我删除/编辑了值)。我希望用户能够首次使用社交提供商或本地帐户登录。然后,我会将他们的帐户从旧身份提供商迁移到 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 或本地帐户登录时,我收到错误消息。

我见过this和其他帖子,但找不到我所缺少的内容。我知道政策非常庞大,因此首先请在 CUSTOM_USERJOURNEY.xml 中查找 ProvisionOrSignInNewSocialAccount on GitHub .

最佳答案

默认情况下,现有本地 B2C 用户配置文件不存在 hasPassword 属性。它是通过链接自定义策略引入的。您需要手动(或通过脚本)为该属性添加值 true,它将开始工作。

您可以使用 Graph API 来增加值(value),因此基本上可以对用户端点进行 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 produces No suitable claims providers were found

关于azure-active-directory - Azure Active Directory B2C AADB2C90051 : No suitable claims providers were found,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74507536/

相关文章:

azure - 应向 Azure SQL Server 添加什么权限,以使 Active Directory 用户能够自动设置自己的防火墙 IP 异常(exception)?

azure - 使用 Graph API 从 Azure AD 缓存组成员身份

azure - 如何使我的自定义策略识别由我的 Azure AD B2C 用户流生成的 token ?

Azure B2C : Default Display Name

spring-boot - Spring Boot OAuth2 invalid_user_info_response

authentication - 连接到 Azure 以创建应用程序注册

Azure B2C : Generating the code_challenge

c# - 如何使用Azure B2C实现安全调查问卷?

asp.net-mvc - 无法创建正确的 OpenID Connect 配置端点 (v2)

azure - 为什么 Azure AD B2C 使用代码而不是 id_token 进行重定向?