除指定Graph API外,查询Azure B2C应用已分配平台的其他方法
AAD B2C 应用平台及重定向URI对应关系查询方案
其他获取已分配平台的方式
- 直接调用Microsoft Graph应用单详情查询接口,无需使用filter筛选,接口地址为
https://graph.microsoft.com/v1.0/myorganization/applications/{应用对象ID},返回报文会携带全量平台配置信息,相比你当前使用的filter查询返回字段更完整、响应速度更快。 - 手动在Azure Portal查看:进入AAD B2C服务页,定位到对应应用注册,在左侧菜单栏的「身份验证」选项卡下可直接查看所有已分配的平台分类,以及每个分类下绑定的重定向URI。
- 通过Azure PowerShell或Azure CLI工具查询:PowerShell可执行
Get-AzADApplication -ApplicationId {你的appId}命令,Azure CLI可执行az ad app show --id {你的appId}命令,返回结果包含完整的平台配置信息。
区分重定向URI对应平台的实现方案
Microsoft Graph接口返回的publicClient.redirectUris确实会将所有公开客户端类型平台(iOS、Android、桌面端均属于该分类)的重定向URI合并到同一数组中,没有内置的平台标记字段,要实现精准区分且不依赖URI结构可采用以下两种方案:
- 调用Graph接口时指定
$select参数拉取分类配置字段
你可以在调用应用查询接口时添加参数拉取不同客户端类型的配置,请求示例为https://graph.microsoft.com/v1.0/myorganization/applications?$filter=appId eq '{你的appId}'&$select=web,publicClient,spa,api
不同平台的重定向URI会归属到不同的根节点下:- 网页端重定向URI归属
web.redirectUris数组 - SPA单页应用重定向URI归属
spa.redirectUris数组 - 桌面端、iOS、Android均属于公开客户端,统一归属
publicClient.redirectUris数组,这部分的平台区分可采用下述第二种方案
- 网页端重定向URI归属
- 通过应用自定义扩展属性存储映射关系
你在给应用添加对应平台的重定向URI时,同步为该应用创建自定义扩展属性,以platform_重定向URI值为键、平台类型为值存储映射关系。后续查询到publicClient.redirectUris数组后,直接读取对应的扩展属性即可获取对应平台类型,完全不需要解析URI结构。
可通过Graph接口创建应用扩展属性,示例请求如下:
后续存储映射时直接更新应用的对应扩展字段即可。POST https://graph.microsoft.com/v1.0/applications/{应用对象ID}/extensionProperties { "name": "platformMapping", "dataType": "String", "targetObjects": ["Application"] }
内容的提问来源于stack exchange,提问作者freak_geek
相关产品推荐
相关产品推荐

