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

能否用单个AzureAD应用适配React前端与AWS Lambda后端及角色配置咨询

问题2:在AD中添加自定义角色并在登录时获取

完全可以实现,scope用于请求API的权限范围,自定义角色属于RBAC(基于角色的访问控制),二者作用不同,需单独配置:

具体步骤

  1. 在Azure AD中添加自定义应用角色
    • 进入前端(或后端)Azure AD应用注册页面,找到「应用角色」选项,点击「创建应用角色」。
    • 分别创建admin、manager、user三个角色,设置对应显示名称、值(如admin、manager、user)、描述,并选择「允许分配给用户/组」。
  2. 为用户分配角色
    • 在Azure AD的「企业应用」中找到你的应用,进入「用户和组」选项,添加需分配角色的用户,并选择对应角色。
  3. 登录时获取角色信息
    • 前端通过MSAL登录后,ID令牌(ID Token)的roles声明会包含当前用户被分配的角色列表,可直接解析ID令牌获取该字段。
    • 若需更详细的角色信息,也可在登录成功后调用Graph API的/me/appRoleAssignments端点,获取用户的所有角色分配记录。

注意事项

  • 确保前端MSAL请求的scope包含openid(必须,用于获取ID令牌),通常配置为["openid", "profile", "email"]即可。
  • 不要依赖访问令牌中的roles声明,访问令牌受众为API,ID令牌才是用户身份信息传递的载体。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 07:42:57