鉴于通过 AAD B2C 以https://login.microsoftonline.com/tfp/MyTenantName.onmicrosoft.com/signinsingunp作为颁发者 url 保护的 azure 函数,我可以通过 msal.js 应用程序成功验证 b2c 用户,就像我尝试将颁发者 url 更新为我的 b2ctenant 域登录 url(因为这个建议将 URL 重定向到 b2clogin.com)并更新 msal.js 应用程序中的权限以匹配域(myapp.b2clogin.com/tfp/MyTenantName.onmicrosoft.com/signinsingunp) ,我收到 401 相同的天蓝色功能,任何建议将不胜感激。
以下是详细的设置细节,
- Azure AD B2C 租户
- 域名:MyTenantName.onmicrosoft.com
- 应用:
- 应用程序A-Api
- 网络应用程序/API : 是
- 允许隐式流:是
- 回复网址:https ://myazurefunsapi.azurewebsites.net/.auth/login/aad/callback
- 应用程序 ID:https ://MyTenantName.onmicrosoft.com/ApplicationA-Api
- 发布范围:读取,user_impersonation
- API 访问:访问用户配置文件
- 应用B-Portal
- 网络应用程序/API : 是
- 允许隐式流:是
- 回复网址:https ://myportal.domain.com
- 应用程序 ID:https ://MyTenantName.onmicrosoft.com/ApplicationB-Portal
- 发布范围:user_impersonation
- API访问:ApplicationA-Api(读取,代表登录用户访问此应用),访问用户配置文件(offline_access,openid)
- 应用程序A-Api
- 用户流
- 注册登录
- 应用程序:ApplicationA-Api
- 回复网址:https ://myazurefunsapi.azurewebsites.net/.auth/login/aad/callback
- 选择域:
- MyTenantName.b2clogin.com
- login.microsoftonline.com
- 注册登录
- 应用:
- 域名:MyTenantName.onmicrosoft.com
- Azure 函数
- 认证/授权
- 应用服务身份验证:开启
- 未通过身份验证时要采取的措施:使用 Azure AD 登录
- 身份验证提供者:
- 天蓝色 AAD:
- 管理模式:高级
- 客户 ID:B2C-ApplicationA-ApplicationID
- 发行者网址:login.microsoftonline.com/......./opendid......
- 认证/授权
- 静态网站
- msal.js (v0.2.4)完成的 b2c 集成
- clientID : B2C-ApplicationB-ApplicationID
- 授权:https ://login.microsoftonline.com/tfp/b2ctenantname.onmicrosoft.com/signinsingunp
- b2cscopes:ApplicationA-Api-read
提前致谢!