b2c_1_signupsignin
的Azure AD B2C应用程序。我已经确认该用户流具有此发行人策略
https://xxxxxx.b2clogin.com/tfp/xxxxxxxx-a115-4371-a79d-63b6ac71ec44/b2c_1_signupsignin/v2.0/
。我已经检查了登录时在JWT中编码此发行人URL。我还确保此JWT中的aud-claim完全包含B2C App的应用ID。
现在,我的AAD租户有一个Azure功能。我希望此功能在调用该函数之前对上述AD B2C App发出的JWT进行携带令牌身份验证。 我已经启用了openID提供商的身份验证,并指定了文档URL为
https://xxxxxx.b2clogin.com/tfp/xxxxxxxx-a115-4371-a79d-63b6ac71ec44/b2c_1_signupsignin/v2.0/.well-known/openid-configuration
。 我已经确认这是正确的文档URL,它包含正确的发行器URL。
测试不断失败(配置了401个未经授权的响应)数小时,直到我终于在“身份验证配置和调查检测器(EasyAuth)”中找到了以下警告:
JWT验证失败:发行者验证失败 - 预期:
https://xxxxx.b2clogin.com/tfp/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx的e的; 令牌:https://xxxxxx.b2clogin.com/tfp/xxxxxxxx-a115-4371-a79d-63b6ac71ec44/b2c_1_signupsignin/v2.0/. 确切地,身份提供商在末尾截断了/V.2.0/,当然,尽管配置了正确的(四倍)发行者URL,但即使正确(四倍检查)发行者URL仍无法验证正确发行的发行者URL。实际上,似乎需要正确的发行人URL来得出文档URL,然后在验证发行人URL时将其截断。显然,这不是预期的行为。 我恢复使用手动身份验证机制。 我严重缺少某些东西,或者这是Azure一侧的(可能已知的)错误?
我确实非常想念一些东西。 我需要禁用函数级授权。我发现的错误来自我不提供的丢失功能键。一旦我切换到匿名但激活了OpenID授权,就可以在设置正确的携带者令牌时成功执行函数调用。 我无法解释Easyauth警告的来源,但我已经进行了很多实验,因此也许它们是一些早期实验的遗产。问题结束了