带有身份提供者和 PKCE 的 Azure AD B2C 问题

Issue with Azure AD B2C with an Identity Provider and PKCE

我设置了指向IdentityServer4在线测试版的B2C身份提供者:

https://demo.identityserver.io

我的应用程序注册是针对 SPA 应用程序的。

我的用户策略是标准的 SUSI 策略。

使用“运行 now”选项,发送以下参数:

p: B2C_1_SUSI_B2C
client_id: 5e58...620a
nonce: defaultNonce
redirect_uri: https://jwt.ms
scope: openid
response_type: code
prompt: login
code_challenge_method: S256
code_challenge: D9pGhYDch4f8F3V0MsDvaEQWH3-ssqucs3ixxTAgX6k

这包含预期的 PKCE 参数。

我得到 B2C 登录屏幕并单击 IdentityServer4 按钮。

以下参数被发送到 IdentityServer4:

client_id: interactive.public
redirect_uri: https://tenant.b2clogin.com/tenant.onmicrosoft.com/oauth2/authresp
response_type: code
scope: openid
response_mode: form_post
nonce: HZ0avacgvKw5Jyp6W4k1Tw==
ui_locales: en-US
state: StateProperties=eyJTSUQiOiJ4....

请注意,不再有任何 PKCE 参数。

IdentityServer4 响应:

Error
Sorry, there was an error : invalid_request
code challenge required

如何获取要转发的PKCE参数?

目前无法进行此操作。在这里使用 PKCE 几乎没有任何价值,因为它是机密的客户端流程。