我尝试为一个Angular应用程序使用授权码和Azure AD B2C (客户端使用oidc-client)设置身份验证,但是我从Angular获取了这些错误信息:
在查看B2C审计日志后,我发现了这个错误消息:
当赎回机密授予时,客户端必须发送client_secret。
这是我的客户端配置:
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实例,一切都按预期工作。
有人能指出我应该在哪里或如何调查这个问题吗?