繁体   English   中英

在 Azure AD 中自定义令牌

[英]Customize token in Azure AD

我正在尝试在 Azure AD 中自定义 ID 令牌。

我做了以下步骤:

1-注册Azure AD申请

2-后扩展:

https://graph.microsoft.com/v1.0/applications/ Object ID /extensionProperties

有效载荷:{“名称”:“测试”,“数据类型”:“字符串”,“targetObjects”:[“用户”]}

3-创建声明映射策略

https://graph.microsoft.com/v1.0/policies/claimsMappingPolicies

有效载荷

{“定义”:[{“ClaimsMappingPolicy”:{“版本”:1,“IncludeBasicClaimSet”:“真”,“ClaimsSchema”:[{“来源”:“用户”,“ExtensionID”:“extension_Application (客户端) ID _test","JwtClaimType":"test"}]}}],"displayName":"test","isOrganizationDefault":true}

4-岗位服务负责人

https:// graph.microsoft.com/v1.0/servicePrincipals/托管应用程序的对象 ID /claimsMappingPolicies/$ref

负载:{"@odata.id":"https://graph.microsoft.com/v1.0/policies/claimsMappingPolicies/(我从第 4 步得到的策略 ID"}

5-我修补了一个用户

https: // graph.microsoft.com/v1.0/users/usreID {"extension_Application (client)ID _test":"test"}

6- 我编辑了 Mainifest查看 Mainifest

6- 我厌倦了为我在步骤 5 中修补的用户获取 ID 令牌https://login.microsoftonline.com/**tenant Id**/oauth2/v2.0/token with headers(client_id,client_secret,scope: https://graph.microsoft.com/.default,用户名,密码

7- 我解码了令牌,我没有看到“测试”是令牌的一部分

不确定我在这里缺少什么来自定义令牌


显示我在刀片中缺少令牌配置的屏幕截图Missing token configuration in the blade

显示我找不到权限的屏幕截图:Directory.AccessAsUser.All

缺少 API 权限

一旦扩展声明设置完成,它就可以用于通过图形存储和检索数据,因为扩展属性可能不会在 id 令牌中传递,但可以通过从图形中查询用户配置文件来检索。 或者应用程序可以使用图形客户端来传递扩展声明,这些扩展声明不是从 azure 广告的可用可选声明中获取的。

请确保已授予 Directory.AccessAsUser.All,Directory.Read.All,openId 权限。

在此处输入图像描述 另请检查清单中设置的可选声明。

在此处输入图像描述

然后检查令牌配置,如果它是有效声明。

参考:

  1. 使用 Graph 为应用程序创建的目录架构扩展属性中的数据发出声明
  2. azure-ad-custom-attributes-and-optional-claims-from-an-asp-dot.net-application

编辑:更新 13/4/2022

就像你在评论中说的:

就像现在最明显的区别一样(令牌配置不可用,Directory.AccessAsUser.All 的 api 权限不存在)

我试图检查我无法在 AAD 门户的概览边栏选项卡中看到这些功能的方式。

当我使用组织Azure AD premium 2许可租户时,我拥有所有这些功能。

但是,当我尝试使用相同帐户创建另一个租户并切换租户以在其上工作并创建应用程序注册时。 应用注册刀片没有令牌配置和 api 权限,如您提到的 Directory.AccessAsUser.All。

在此处输入图像描述

然后我意识到它的许可证是azure ad free帐户。

在此处输入图像描述

因此,从我的角度来看,请尝试使用 pay as you go 帐户或组织已订阅高级许可证的帐户,这将提供更好的体验。

您也可以在此处查看正在进行的问题

Q&A missing-features-in-my-azure-ad-tenant。

活动目录可选声明示例

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM