unauthorized_client:客户端不存在或未为消费者启用

问题描述 投票:0回答:1

尝试实施 B2C 自定义策略,允许使用 MSFT 帐户(个人、学校和工作)登录

引用了此链接:https://learn.microsoft.com/en-gb/azure/active-directory-b2c/identity-provider-microsoft-account?pivots=b2c-custom-policy

我已在 Azure 门户中创建了新的应用程序注册,但上面的链接显示我必须选择特定的个人 Microsoft 帐户(例如 Skype、Xbox),但没有此类选项可用

enter image description here

因此我选择选项 2 任何 Microsoft Enfra Id 租户 - 多租户

并确保在应用程序注册清单中存在这些值,即

"accessTokenAcceptedVersion": 2,
"signInAudience": "AzureADandPersonalMicrosoftAccount"

我已经按照上面的链接配置了技术配置文件和用户旅程,但我收到此错误

enter image description here

这就是 URL 的样子

https://login.live.com/oauth20_authorize.srf?client_id=CLIENT-ID&redirect_uri=https://tenant.b2clogin.com/tenant.onmicrosoft.com/oauth2/authresp&response_type=code&scope=openid+profile+email&response_mode= form_post&nonce=dg+B2uAXd8VgMsdIvfw/jQ==&提示=登录&state=StateProperties=eyJTSUQiOiJ4LW1zLWNwaW0tcmM6MzQ5ODRiNDgtMTI1ZC00N2ZlLTg3ZWUtYjFjZWY5OWE1MmI4IiwiVElEIjoiYWY3NWR LM2MtMzljNS00ZWEwLTkxOTktNzQxZTllOWNhZDc1IiwiVE9JRCI6IjM4Y2Y4NGUxLTRjYmItNGFiYi04YWEzLTRjMGY3MTA3YzU4NSJ9

任何帮助将不胜感激

azure azure-ad-b2c azure-ad-b2c-custom-policy aad-b2c
1个回答
0
投票

当您使用以受支持类型注册的应用程序作为多租户而不是个人 Microsoft 帐户时,会发生错误。

最初,当我注册多租户应用程序并使用它使用 MSFT 帐户登录时,我也遇到了同样的错误

enter image description here

要解决该错误,您需要切换到 Microsoft Entra ID 租户来创建个人 Microsoft 应用程序,而不是 Azure AD B2C 租户:

enter image description here

在此 Microsoft Entra ID 租户中,您可以使用个人 Microsoft 帐户作为支持的帐户类型来注册应用程序,如下所示:

enter image description here

现在在上述应用程序中创建客户端密钥并使用密钥值编辑

B2C_1A_MSASecret
策略密钥:

enter image description here

当我通过将客户端 ID 替换为新创建的应用程序 ID 来运行自定义策略时,我看到了使用 MSFT 帐户登录的登录屏幕,如下所示:

enter image description here

身份验证成功后,我在jwt.ms网站中获得了如下令牌:

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.