gpt4 book ai didi

Azure Active Directory 和 JWT 中的自定义属性(安全性

转载 作者:行者123 更新时间:2023-12-02 23:10:29 25 4
gpt4 key购买 nike

我正在集成一个 Web 应用程序,该应用程序在访问 token 中使用名为“权利”的自定义声明,该 token 具有 1 个或多个指定应用程序内用户权限的值,即用户、报告、管理员...分配一个或多个这些值。当我构建它时,我查看了 Azure Active Directory 是否支持将此自定义声明添加到 JWT 中,所有证据都表明这是可能的。现在它已经构建完成,我正在尝试实际实现与 AAD 的集成。但它不起作用。我遇到的所有指令都没有真正起作用。生成时,该声明并不存在于访问 token 中,而且我找不到告诉 Azure 添加它的方法。

我添加了一个名为“entitlements”的自定义安全属性,将其添加到具有值的用户帐户中,为应用程序提供了我能找到的尽可能多的 API 权限,但是,当需要将自定义属性添加为管理 claim 下的 claim ,不可见。仅用户配置文件值可见。我所做的任何事情都不会改变值列表。它们仅包含“user.*”属性。

达到这一点的步骤:

  1. 创建免费的 Azure AD 帐户并将其提升至 P2 许可级别。
  2. 提升我的用户帐户以创建自定义安全属性定义。
  3. 创建自定义安全属性定义。
  4. 创建一个自定义安全属性,其中包含 8 个不同的可能值可供选择。
  5. 在“用户”下,添加一个自定义安全属性,并至少选择一个值。
  6. 返回应用程序注册、API 权限下,添加允许访问所有可能相关值的所有权限。
  7. 在 list 下,将 accessTokenAcceptedVersion 更改为 2
  8. 在 list 中添加了可选声明,添加了名为“entitlements”的自定义安全属性,源为“user”
  9. 尝试添加可选声明“权利”,但不存在。添加输入到 Manifest 中的条目表明它不会添加到 JWT,因为它不是有效的声明。
  10. 我转到企业应用程序、单点登录、管理声明,单击“添加声明”,然后查找权利,但只有用户的个人资料区域中的用户。* 属性。
  11. 键入权利的源属性只会显示一个带有文本“entitlements”的字符串

那么,是否有人成功添加了一个应用程序,该应用程序具有附加到用户配置文件的自定义属性,这些属性是可选择的并配置为使这些属性显示为 JWT 声明?你做了什么不同的事情?

最佳答案

我无法使用自定义安全属性添加权利,但是,通过在 Azure AD 中定义一组角色,然后将其中一个角色分配给 Azure 中注册应用程序的用户,我能够传递这些角色JWT 中的声明是我的应用程序支持的 OAuth2 规范中支持的标准声明。我找不到插入 OAuth2 中标准但未列为可选或明确列出的声明的任何其他声明的方法。文档指出可以完成,但我无法获得工作结果。即使添加自定义静态声明对我来说也不起作用。

关于Azure Active Directory 和 JWT 中的自定义属性(安全性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75922753/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com