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

Azure注册应用如何获取目标应用的client_id与scope?能否用Graph API查询?

通过DNS名称获取Azure AD应用的client_id和scope
  • 结论先行:仅靠目标应用的DNS域名,可以用Graph API拿到它的client_id,但scope的获取要看目标应用是否暴露了可调用的API。

  • 获取client_id的方法:
    Azure AD应用的DNS域名一般和应用的publisherDomain字段对应,或是出现在replyUrls里。你可以用Graph API的applications端点做筛选查询:

    GET https://graph.microsoft.com/v1.0/applications?$filter=publisherDomain eq '你的目标DNS域名'&$select=id,displayName,publisherDomain
    

    返回结果里的id就是目标应用的client_id。如果目标应用的回调URL包含该域名,也可以把筛选条件换成contains(replyUrls, '你的目标DNS域名')。

  • 获取scope的注意事项:
    应用的scope对应Graph API里的oauth2PermissionScopes属性,但只有当目标应用主动暴露了可供其他应用调用的API时,这个字段才有内容。你可以扩展查询来获取:

    GET https://graph.microsoft.com/v1.0/applications?$filter=publisherDomain eq '你的目标DNS域名'&$select=id,oauth2PermissionScopes,displayName
    

    如果目标应用没暴露任何API,oauth2PermissionScopes会是空数组,这种情况下拿不到可用的scope。

  • 必要权限:
    你的应用必须被授予Application.Read.All(应用权限)或Directory.Read.All(委托权限)的Graph API权限,才能查询组织内所有Azure AD应用的信息。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 03:01:21