如何从Azure获取ms.graph.app.graphUserScopes与ms.graph.user.license.skuId并集成到Spring项目
解决Azure应用中找不到指定配置项的问题
一、关于ms.graph.app.graphUserScopes
这不是Azure应用内现成的固定选项,它对应Microsoft Graph API的权限范围集合,需要你手动配置并指定:
- 登录Azure门户,进入你的应用注册(App Registrations)
- 左侧菜单选择「API权限」,点击「添加权限」,选择「Microsoft Graph」
- 根据业务需求选择委托权限或应用权限,比如
User.Read、User.Read.All、Directory.Read.All等,这些具体权限字符串就是graphUserScopes对应的值 - 选完权限后,若为租户级应用,记得点击「授予管理员同意」
- 在Java Spring项目中,把这些权限字符串配置到
application.properties或application.yml即可,示例:azure.activedirectory.graph-user-scopes=User.Read,Directory.Read.All
二、关于ms.graph.user.license.skuId
这是用户许可证的SKU标识,属于用户属性数据,需通过调用Microsoft Graph API获取:
- 先确保你的Azure应用已拥有读取用户许可证的权限,比如
User.Read.All或Directory.Read.All应用权限 - 在Java Spring项目中,使用Microsoft Graph SDK调用
/users/{user-id}/licenseDetails接口,返回结果里的skuId字段就是目标值 - 示例代码片段(基于Graph SDK):
UserLicenseDetailsCollectionPage licenseDetails = graphClient.users("{user-id}").licenseDetails().buildRequest().get(); for (UserLicenseDetails detail : licenseDetails) { String skuId = detail.getSkuId().toString(); // 后续处理skuId逻辑 } - 若需预先获取租户内特定许可证的SKU ID,也可在Azure门户的「Microsoft 365管理中心」→「许可证」→「产品」中查看,或调用Graph API的
/subscribedSkus接口获取租户所有可用许可证的SKU ID
内容的提问来源于stack exchange,提问作者mohamed mostafa
相关产品推荐
相关产品推荐

