You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

能否使用Azure SWA获取的令牌认证独立Azure Function?

使用Azure AD B2C令牌认证独立Azure Function的可行方案及配置排查

这个方案完全可行,你的问题大概率出在配置细节上,以下是关键配置检查点和修正建议:

1. 应用注册权限与令牌受众

  • 确认SWA使用的应用注册,已添加独立Azure Function对应的API权限,且完成管理员同意(如果是租户级权限)。
  • 检查令牌的aud(受众)声明,必须匹配独立Function的应用ID URI或客户端ID。如果Function认证配置里的受众设置不匹配,令牌会被直接拒绝。

2. 重定向URI的正确设置

独立Azure Function的重定向URI必须严格配置为:

https://<你的函数域名>.azurewebsites.net/.auth/login/aad/callback

不要填函数根URL,这个回调路径是Azure Function内置的认证端点,必须完全匹配。

3. 颁发者URL的正确格式

不能直接用登录用户流的URL作为颁发者,正确格式为:

https://<你的B2C租户名>.b2clogin.com/<你的租户ID>/<用户流名称>/v2.0/

替换成你的B2C租户名、租户ID(比如xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxx)和用户流名称(比如B2C_1_signup_signin)。确保Function认证配置里的颁发者URL和令牌中的iss声明完全一致。

4. 令牌类型与传递方式

  • 要调用独立Function,必须传递访问令牌(而非ID令牌)。ID令牌仅用于身份验证,访问令牌才是授权API访问的凭证。
  • 在SWA中通过window.auth.getToken()获取访问令牌后,请求Function时将其放在Authorization头中,格式为:
    Authorization: Bearer <你的访问令牌内容>
    

5. 排查与测试技巧

  • 用本地JWT解析工具拆解令牌,核对iss、aud、exp等声明是否符合配置要求。
  • 查看Azure Function的监控日志,找到认证失败的具体错误(比如invalid issuer、invalid audience),根据错误精准调整配置。

内容的提问来源于stack exchange,提问作者noontz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 16:24:52