基于IdentifierURIs筛选Graph API应用失败问题咨询
问题分析与解决
核心原因
Azure AD 对非URL格式的 identifierUris 值会自动补充租户域名前缀,导致你筛选的原始字符串与实际存储值不匹配。
验证步骤
先调用以下接口获取目标应用的完整详情,确认
identifierUris的实际存储值:GET https://graph.microsoft.com/beta/applications/<你的应用ID>你会发现手动输入的
security-saml已被自动转换为类似https://<你的租户域名>/security-saml的完整URI格式。对比后就能明白:你用
eq 'security-saml'筛选时,找不到匹配项是因为实际存储的是带前缀的完整URI;而https://testingSAML.com是标准URL格式,Azure AD会直接存储,所以筛选能命中。
解决方法
- 精确匹配:使用实际存储的完整URI进行筛选,示例请求:
GET https://graph.microsoft.com/beta/applications?$filter=identifierUris/any(c:c eq 'https://yourtenant.onmicrosoft.com/security-saml') - 模糊匹配:如果不需要严格前缀匹配,可改用
contains运算符筛选后缀,示例:GET https://graph.microsoft.com/beta/applications?$filter=identifierUris/any(c:contains(c, 'security-saml'))
内容的提问来源于stack exchange,提问作者Rohit Prasad
相关产品推荐
相关产品推荐

