如何通过Microsoft Graph API获取SSO(SAML)的Attributes & Claims
如何通过Microsoft Graph API获取SAML单点登录(SSO)的属性与声明
要获取SAML SSO配置里的「属性与声明」,核心是操作Microsoft Graph中**企业应用程序(服务主体)**的SAML设置,具体步骤如下:
定位目标应用的服务主体ID
先拿到对应企业应用的servicePrincipalId(对象ID),可以调用GET /servicePrincipals并通过displayName或appId过滤获取。确认所需权限
调用API需要对应权限:- 只读场景:
Application.Read.All(应用权限)或Directory.Read.All(委托权限) - 需修改配置场景:
Application.ReadWrite.All(应用权限)或Directory.ReadWrite.All(委托权限)
权限需提前在Azure AD中完成授权,获取有效的访问令牌(Access Token)。
- 只读场景:
调用Graph API端点获取配置
使用以下GET请求获取目标应用的SAML单点登录设置,将{servicePrincipalId}替换为实际的服务主体ID:curl --request GET \ --url 'https://graph.microsoft.com/v1.0/servicePrincipals/{servicePrincipalId}/samlSingleSignOnSettings' \ --header 'Authorization: Bearer {你的访问令牌}'解析响应中的属性与声明
响应里的claims字段是数组,包含了「Attributes & Claims」的所有配置项,每个元素会展示:- 源属性(如
user.userprincipalname) - 目标声明名称(如
NameID) - 声明类型、命名空间等详细信息
- 源属性(如
若声明是通过自定义声明映射策略配置的,还可调用GET /policies/claimsMappingPolicies/{policyId}获取更详细的策略内容,policyId可从服务主体的claimsMappingPolicy关联字段中获取。
内容的提问来源于stack exchange,提问作者Anh Le
相关产品推荐
相关产品推荐

