gpt4 book ai didi

angular - Azure AD B2C : Clients must send a client_secret when redeeming a confidential grant

转载 作者:行者123 更新时间:2023-12-03 16:05:24 26 4
gpt4 key购买 nike

我尝试使用授权代码和 Azure AD B2C(客户端上的 oidc-client)为 Angular 应用程序设置身份验证,但我从 Angular 收到这些错误:

enter image description here

在查看 B2C 审计日志后,我发现了以下错误消息:

Clients must send a client_secret when redeeming a confidential grant.



这是我的客户端配置:
const settings = {
stsAuthority: 'https://supportodqqcdev.b2clogin.com/supportodqqcDev.onmicrosoft.com/v2.0/.well-known/openid-configuration?p=B2C_1_SignUpSignInOdqPlatine',
clientId: '8447df5b-35a0-40a7-944f-5dcce87a2193',
clientRoot: 'https://localhost:4200',
scope: 'openid https://supportodqqcDev.onmicrosoft.com/platineclientdev/read',
};
this.userManager = new UserManager({
authority: settings.stsAuthority,
client_id: settings.clientId,
redirect_uri: `${settings.clientRoot}/signin-callback`,
scope: settings.scope,
response_type: 'code',
post_logout_redirect_uri: `${settings.clientRoot}/signout-callback`,
automaticSilentRenew: true,
silent_redirect_uri: `${settings.clientRoot}/assets/signin-silent-callback.html`,
});

如果我将上述配置切换为使用本地 IdentityServer 实例,则一切正常。

有人能指出我应该在哪里或如何调查这个吗?

最佳答案

我和你有完全相同的问题,只是能够解决它。

AD 正在向您请求 client_secret,因为它还没有为 PKCE 配置。要告诉 AD 您想将 PKCE 用于特定的重定向 url,您需要将其类型设置为 'Web''Spa' .这可以在 list 中完成。

搜索楼盘replyUrlsWithType在 Manifest 中查找您的 .../signin-callback网址。将其类型更改为 'Spa'你应该很好。

例如。:

"replyUrlsWithType": [
{
"url": "http://localhost:8080/signin-callback",
"type": "Spa"
},
]

配置的 url 现在将从您的授权页面中消失,但没关系 -> 它仍然存在于 list 中。 MS 团队正在研究这种新类型。

还要确保将您的应用程序标记为公共(public)客户端。

有关更多信息,请在此处查看我的回答: Is Active Directory not supporting Authorization Code Flow with PKCE?

关于angular - Azure AD B2C : Clients must send a client_secret when redeeming a confidential grant,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59163544/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com