asp.net-mvc-5 - 通过 azure AD 进行身份验证时公开扩展属性 - Azure AD 中的声明感知应用程序
问题描述
所以我的组织使用了我们几年前开发的一些内部软件。我们最初使用 WS-Fed 构建它是为了通过 ADFS 感知声明。为了正常工作,软件需要两件事,用户的组成员身份和用户的员工编号(我们在使用的许多不同应用程序中将其用作密钥)。
从那时起,我们已经迁移到 Azure AD(维护我们的本地 AD 服务器,并定期将它们与 Azure AD 同步)。
现在,我已经开始进行身份验证,并且通过将应用程序清单更改为:
组成员身份使用 azure AD 密钥标识符,而不是公开组的文本名称,但这很好,我可以弄清楚映射。
我还从微软指南中借用了一个方便的小调试页面,这样我就可以看到每个用户的所有声明:
问题是,如何编辑清单以便我可以看到“employeeID”属性。另一个选项是显示“extensionattribute2”。我们使用一些第三方软件可以看到这些属性,所以一定是可以的。
通过清单这样做是正确的方法吗?我是否需要与 Microsoft Graph 交互才能解决这个问题?
编辑:
所以在一些进一步的研究中,我发现了这个,这让我怀疑我需要使用 Graph API 来获取这些信息。我在那里正确吗?
解决方案
问题是,如何编辑清单以便我可以看到“employeeID”属性。另一个选项是显示“extensionattribute2”。我们使用一些第三方软件可以看到这些属性,所以一定是可以的。
根据我的经验,我们似乎无法通过在清单中添加内容来做到这一点。
我尝试通过 Graph API 注册目录架构扩展,并向我的用户添加了自定义声明。如果我们通过修改azure app manifest也能得到同样的结果,manifest的内容应该反映我已经注册的扩展细节,下次我们可以按照改变的部分修改manifest来注册Directory schema extension并添加自定义的声明。
但是,在我比较了注册扩展前和注册扩展后的清单之后,没有区别。
似乎修改 azure app 的清单不起作用。
但是您可以使用图形 API 将目录模式扩展注册为自定义声明,更多信息请参阅目录模式扩展 | 图形 API 概念
推荐阅读
- javascript - 动态创建
- 在 IE 与 Firefox 和其他浏览器中表现不同
- java - 当我从 Eclipse 运行我的 TestNG xml 文件时,当我从命令提示符运行它时它运行良好
- ruby - 用户和团队——多对多关系 Ruby
- php - 在由 Wordpress 提供支持的网站上,PHP 代码在按下提交按钮后不会发送电子邮件
- javascript - 使用 d3.stack() 函数的 D3 堆积条形图
- mysql - 带有 powershell 的 SQL 备份自动化
- java - r8.jar 位于 Android SDK 的什么位置?
- angular - Angular 6 库 - 导入模块问题
- c# - 为什么只有 C# 应用程序需要 BStrWrapper?
- android - ScrollView 填满整个屏幕