Azure AD 联合的 ID 令牌不包含“角色”声明

2023-12-02

我创建了一个 Azure B2C 租户,并为 Azure Active Directory (AD) 创建了自定义 IDP。 我创建了从 B2C 联合到 Azure AD 的用户流并获取访问令牌。

我遵循的步骤。

  • 创建了azure AD应用程序
  • 生成了一个秘密
  • 创建了自定义角色
  • 从 AD 企业应用程序向用户分配自定义角色
  • 在 B2C 领域创建 IDP
  • 创建了 B2C 应用程序
  • 创建登录策略
  • 为联合添加了 IDP
  • 运行用户流程
  • 通过联盟登录

Azure AD 成功检索令牌 (idp_access_token)作为联邦的结果。但问题是从天蓝色 AD 检索的令牌不包含角色声明。我创建了两个应用程序角色并将它们分配给用户。但我看不到令牌内的任何角色。

我遵循以下文档。https://learn.microsoft.com/en-us/azure/active-directory/develop/howto-add-app-roles-in-azure-ad-apps

这对联盟来说不是无效吗?通过联合获取分配的应用程序角色的确切方法是什么。

enter image description here

以下是创建 B2C IDP 所需的详细信息。

enter image description here

如何将这些细节与范围解决方案进行映射?


您需要在 Azure AD 中创建两个应用程序,一个代表客户应用程序另一个代表API应用,然后使用客户端应用程序调用api应用程序。

首先,您需要公开受Azure保护的后端应用程序的API并添加客户端应用程序:

enter image description here

接下来需要设置api应用程序AppRole,这是您自定义的角色,它将显示在清单中。

enter image description here

然后您可以将角色分配给用户。转到企业应用程序>您的 api 应用程序>用户和组。

enter image description here

接下来,转到客户端应用程序,让客户端应用程序访问后端 api:

  • 在“API 权限”下,单击“添加权限”,然后单击“我的 API”选项卡。
  • 找到您的后端应用程序并选择适当的范围。
  • 单击“添加权限”。
  • 授予管理员对您的 API 的同意。

接下来,您需要使用授权码流程获取Access Token,需要登录用户并获取授权码,然后使用授权码兑换Access Token。

enter image description here

解析 v2.0 令牌,它包含两者scp索赔和roles claims.

enter image description here

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Azure AD 联合的 ID 令牌不包含“角色”声明 的相关文章

  • 带预览和进度栏的 Twitter Bootstrap 图像上传

    我如何使用 Twitter Bootstrap 上传带有预览和进度条的单个图像 目前 在保存图像之前 我看不到上传图像的任何预览或进度条 Jasny 的 Bootstrap 分支让您能够接近这一点 看文档 http jasny github
  • Javascript:在函数内调用函数时 window.location.href 不会重定向

    单击按钮时 window location href 会将浏览器重定向到 stackoverflow com 但在输入文本字段中按 Enter 键时不会将浏览器重定向到 stackoverflow com 尽管两个事件侦听器使用相同的函数
  • 如何对每一行进行 value_counts 并创建一些列,其值是每个值的计数

    我得到一个数据框如下 df c1 c2 c3 c4 c5 c6 c7 c8 c9 c10 c11 c12 r1 0 1 1 1 1 0 0 0 0 0 0 0 r2 1 2 2 2 2 1 1 1 1 0 0 0 r3 1 0 2 0 0
  • iOS:如何实现像Android的startActivityForResult这样的行为

    我是一名 Android 开发人员 正在开发我们应用程序的 iOS 版本 我需要知道如何在 Android 上实现类似于 startActivityForResult 的行为 我需要显示一个新的视图控制器 然后在新的视图控制器关闭时将控制权
  • AES 在 cryptojs 中加密并在 python Crypto.Cipher 中解密

    使用 js CryptoJS 加密并使用 python crypto Cipher 解密时出现问题 这是我在js中的实现 附加 iv 与加密消息并使用 base64 进行编码
  • 如何在 Scala Play 框架中进行 Twitter 反向身份验证?

    我正在编写一个 play 应用程序 在 scala 中 并且正在尝试执行 twitter 此处概述的反向身份验证步骤 https dev twitter com docs ios using reverse auth https dev t
  • 使用 DataMapper 而不是 ActiveRecord [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 扩展Android应用程序类

    当我正在寻找从远程设备获取错误报告的解决方案时 就像 iOS 中的试飞应用程序一样 我发现了acra适用于 Android 设备here http code google com p acra wiki BasicSetup 在基本设置中
  • 具有重复值的 Sqlite 列

    就说专栏吧aSQLite 数据库的非常重复 始终有相同的 4 个值 其他值可能稍后出现 但不同值的数量将少于 1000 个 VALUES hello world it s a shame to store this str many tim
  • NHibernate:无状态会话错误消息无法获取代理

    我正在使用 nHibernate 无状态会话来获取对象 更新一个属性并将对象保存回数据库 我不断收到错误消息 无状态会话无法获取代理 我在其他地方有类似的代码 所以我不明白为什么这不起作用 有谁知道问题可能是什么 我正在尝试更新Screen
  • IIS 中的 WIX 和证书

    我正在尝试设置我的安装 以便使用 WIX 配置我的站点及其证书 我可以在 IIS 中查看证书并有权访问 cer 文件 这就是我对证书的了解 所以请简化任何答案 即我不知道我的 BinaryKey 是什么 该证书已安装在计算机上 理想情况下
  • 如何从我的 appDelegate 访问我的 viewController? iOS系统

    我有一个在 xCode 中创建为 基于视图的应用程序 的 iOS 应用程序 我只有一个 viewController 但它会自动显示 而且我没有看到任何将它与我的 appDelegate 关联的代码 我需要将数据从 appDelegate
  • Pandas 2 个字段中唯一值的数量

    我正在尝试查找覆盖 2 个字段的唯一值的数量 例如 一个典型的例子是姓氏和名字 我有一个数据框 当我执行以下操作时 我只获取每列的唯一字段数 在本例中为 最后一个 和 第一个 不是复合体 df Last Name First Name nu
  • 如何从Python枚举类中获取所有值?

    我正在使用 Enum4 库创建一个枚举类 如下所示 class Color Enum RED 1 BLUE 2 我要打印 1 2 作为某处的列表 我怎样才能实现这个目标 您可以执行以下操作 e value for e in Color
  • AngularJS 中的全局模拟对象用于 jasmine/karma 测试

    我有一个正在模拟进行单元测试的对象 基本上在我的测试文件中 我将其模拟如下 var mockObject mockMethod1 function return true mockMethod2 function return true b
  • 在着色器中旋转法线

    我有一个场景 其中有多个具有各自位置和旋转的模型 给定法线 着色器对每个像素应用简单的双向照明 那是我的顶点着色器 version 150 in vec3 position in vec3 normal in vec2 texcoord o
  • 在reactjs中停止超时?

    有没有办法可以杀死 摆脱 reactjs 中的超时 setTimeout function do something bind this 3000 通过某种点击或操作 我希望能够完全停止并结束超时 有没有办法做到这一点 谢谢 假设这种情况发
  • 使用 python/scipy 进行 voronoi 和 lloyd 松弛

    如何使用 Qhull 确定哪些 voronoi 单元 按索引 是 正确的 由 现有顶点 组成 我正在尝试使用 LLoyds 算法和 scipy spatial Voronoi 它是 Qhull 的包装器 生成的输入来执行约束松弛 就代码而言
  • 如何使用javascript取消设置变量? [复制]

    这个问题在这里已经有答案了 这是我到目前为止所尝试的 var nxt I am next window onscroll function var scr this pageYOffset if scr gt 400 console log
  • 应用服务器如何注入私有字段?

    我看到这个问题 注入私有 包或公共字段或提供 setter https stackoverflow com questions 2021716 inject into private package or public field or p

随机推荐

  • 在 Java 中检查字符串是否代表整数的最佳方法是什么?

    我通常使用以下习惯用法来检查字符串是否可以转换为整数 public boolean isInteger String input try Integer parseInt input return true catch Exception
  • 如何检测浏览器何时阻止 iFrame

    在 https 网站上 我尝试将随机提交的 URL 加载到 iframe 中 从而允许用户看到嵌入在我自己的用户界面中的网站 只要远程 url 是 https 就像我自己的网站 并且远程服务器没有明确阻止自身嵌入 iframe 网站就会在
  • 通过 API 从 Instagram 照片中提取纬度/经度

    默认情况下 Instagram 会保存所有提交的照片的地理标签 然后您可以使用按位置搜索 media search 但是 当我尝试使用以下命令从特定图片中提取地理标签时 media media id 我总是得到 location null在
  • word - 突出显示搜索结果而不永久更改文档格式

    我想突出显示搜索结果 类似于单词的本机搜索正在执行的操作 换句话说 我不希望搜索操作在文档中产生副作用 例如通过更改返回的文本范围中的字体颜色 var searchResults paragraph search searchValue c
  • 根据第一个数组对多个数组进行排序

    目前我正在开发一个项目 需要对总共 6 个数组进行排序 我已经设法使用快速排序对数组进行单独排序 但是 我只是想知道是否有一种方法可以对 1 个数组进行排序并将其反映在其他数组中元素的顺序上 例如 如果我将日期数组按升序排序 我希望其他数组
  • 在 jQuery 对话框中隐藏标题栏并显示关闭按钮

    我已隐藏标题栏jQuery Dialog如下 ui dialog titlebar hide 这也隐藏了关闭按钮Dialog 但我需要显示关闭按钮Dialog 我怎样才能做到这一点 添加以下 CSS 将隐藏标题文本和样式 保留关闭按钮 se
  • 在 Web 应用程序 Application_Start 方法中初始化 NServiceBus 时出现 NullReferenceException

    我正在运行 NServiceBus 2 0 RTM 当我的 MessageModule 将 CurrentSessionContext 绑定到我的 NHibernate sessionfactory 时 我收到 NullReferenceE
  • 无法转换为已实现的接口

    我很困惑 我有一个直接实现接口的类 public class Device implements AutocompleteResult 这是我正在查看正确变量的证据 Object match log debug match getClass
  • 应用程序“不包含正确的测试版权利”

    我提交了一份审核申请 我注意到我提交的构建有一个与之相关的问题 Build 168 does not contain the correct beta entitlement 我无法在任何地方找到有关此错误的信息 这意味着什么 它会阻碍审查
  • 使用 rmongodb 和 plyr 将大型 MongoDB 集合传输到 R 中的 data.frame

    当我尝试使用 rmongodb 和 plyr 包将数据帧从 MongoDB 传输到 R 时 我得到了一些奇怪的结果 我从有关该主题的各种 github 和论坛中获取了此代码 并根据我的目的进行了调整 load the both packag
  • 如何从列表框中删除所选项目 C#

    我目前正在尝试查看用户在列表框中选择的所有文件和文件夹 目前 我可以使用 openfiledialogue 列出用户选择的内容 但是当我尝试从列表框中删除它时 我现在面临问题 我试图允许用户单击文件旁边的复选框并按删除按钮将其删除 这是我的
  • 检查用户是否在 Skype 上注册

    我正在使用 Skype API 进行视频通话 到目前为止 视频通话工作正常 我使用 Xml 文件来保存 Skype 凭据 用于呼叫任何其他 Skype 朋友 用户 在将 Skype 凭据保存到 Xml 文件之前 我想确保提供的用户名是否已在
  • 在 CodeIgniter 中使用批量插入获取查询的最后插入 ID 时出错

    如何使用 CodeIgniter 中的批量插入获取查询的最后插入 ID 我用了代码 this gt db gt insert id 但它返回我第一个插入的数组的 ID 我无法获取最后一个插入内容 这就是我所做的 for x 0 x lt s
  • 如果我的 C# 中的 Main 方法是私有的,为什么我的程序还能运行?

    默认情况下 类中每个成员的类型修饰符都是私有的 甚至 Main 函数类型修饰符也是私有的 CLR如何调用外界不可见的main方法 CLR 不关心以下内容的可访问性main 对外可见 仅适用于code 不是runtime
  • Android 中的 HTML 解析

    我正在尝试学习如何解析 HTML 但由于我在 Java 或 Android 方面没有太多经验 所以有点复杂 我已阅读 IBM XML 解析教程并学会了解析 RSS 提要 我的问题是 我想从 HTML 站点获取数据 我已经阅读了一些有关 HT
  • 在 Tastypie 中获取请求参数

    我正在为我的应用程序构建一个 REST API 该应用程序使用 Tastypie 使用 NoSQL 数据库 Neo4j 所以我重写了该类的一些主要方法tastypie resources Resource这样做 目前正在努力实施def ob
  • 将 CQ5 组件设置为可编辑或不可编辑

    如果我想设置 cq5 组件在页面 A 中可编辑 但在页面 B 中不可编辑 是否可以 例如 在页面 A 我有 C 组件 我们允许作者打开对话框并编辑组件 但我们不允许作者打开对话框来编辑页面 B 上的组件 C 我尝试研究 cq EditCon
  • CSS 无法在 Firefox、Opera 和 IE 中加载 - Chrome 和 Safari 工作正常

    我在网站建设中遇到了一些问题 重点是在 Chrome 和 Safari 中它工作得很好 但在 Firefox Opera 和 Internet Explorer 中则不太一样 请查看此处的网站 你可以在我提到的浏览器中尝试一下 并确认我刚才
  • 在 C 中是否有强制类型不兼容的好方法?

    出于类型检查的目的 我想定义一个函数 void myfunc type1 a type2 b where type1 and type2都类型定义为uint8 t 到目前为止一切顺利 但出于理智和检查目的 想想 DbC 我想防止使用type
  • Azure AD 联合的 ID 令牌不包含“角色”声明

    我创建了一个 Azure B2C 租户 并为 Azure Active Directory AD 创建了自定义 IDP 我创建了从 B2C 联合到 Azure AD 的用户流并获取访问令牌 我遵循的步骤 创建了azure AD应用程序 生成