oauth-2.0 - Azure AD 访问令牌中的 scp 声明
问题描述
我正在使用 OAuth2 开发通过 Azure AD 的通信流。所以,我正在测试两个流程:
- Credentials Flow
- Authorization Code Flow
一切正常,除了一件事:访问令牌中的范围/权限(scp)。
当我使用授权代码流请求访问令牌时,我有很多声明,其中一个对我的业务非常重要:scp。此声明具有在 Azure 门户中配置的所有范围。
但是,当我使用客户端凭据流时,此“scp”声明不会返回,并且我无法检查生成的此访问令牌是否可以访问我的资源服务器中的端点。
知道如何解决这个问题吗?
解决方案
这个问题的答案 很好地解释了为什么它不起作用。
由于没有重定向(不涉及用户) scp 声明不会返回。您的问题的解决方案是使用应用程序角色。
当您使用 client_credentials 流获取 OAuth2 令牌时,请确保您正在传递资源参数并使用您将角色添加到清单的应用程序的 appId 填充它。
推荐阅读
- pointers - 在 Fortran 中的某个内存地址获取值
- python - 如何从 numpy 数组中删除两个最小的数字并计算中位数 python 3
- sql - 如何解决此查询
- scala - 错误:spark scala:java.nio.channels.ClosedByInterruptException -> 无法对数据集执行 show() 或 count()
- excel - 如何在 PowerPoint 中根据文本框值插入图片
- docker - 如何在 docker 环境中访问 Kafka 连接器(融合日志连接)
- javascript - 为什么要为多个对象调用 drop 事件?
- amazon-web-services - 如何使用 route53 将 url 映射到 elb 上的特定端口号?
- ms-office - 尝试制定总体规划。当作为子项目插入时,某些项目的日期和持续时间会发生变化
- javascript - 在 React.js 中重置 RadioGroup 值