Azure 属性在 SimpleSAMLphp 中显示 URL 而不是友好名称

Azure attributes show URLs instead of friendly names in SimpleSAMLphp

我是 SAML 和 Azure 的新手,但我需要将我的 PHP 网络应用程序与 Azure 集成,我不明白 Azure 名称属性(声明?)如何与 simpleSAMLphp 一起使用

问题 1 - Azure 中的属性难以读取

这是从 Azure 返回的数据集 - 属性命名为 HTTP URLs:

我可以通过某种方式查看 URL 中每个属性的用途,但是有没有办法显示更短、更友好的名称?友好名称是否应该由我们的 Azure 团队提供,或者是否有可以完成的标准翻译?

问题 2 - 我无法阅读 Azure 提供的所有内容 attributes/claims

我们的 Azure 团队告诉我,他们为我提供了比上图中可见的更多的属性 - 例如我们的组织、头衔等等,他们已经把这张照片作为证明发给我了:

这似乎是 URL 和友好 names/descriptions 的奇怪组合,但我似乎无法从 simpleSAMLphp 读取所有 Azure 属性!?我是否需要以 $azure->getAttributes(); 之外的其他方式读取(额外的?)属性?

我试过的

我(除其他外)使用本指南设置 simpleSAMLphphttps://www.lewisroberts.com/2015/09/05/single-sign-on-to-azure-ad-using-simplesamlphp/ 并且该指南涉及以下设置,我已将其包含在 \config\authsources.php:

'NameIDFormat' => 'urn:oasis:names:tc:SAML:2.0:nameid-format:persistent',
'simplesaml.nameidattribute' => 'eduPersonTargetedID',

但老实说,这让我很困惑,这是否相关。

我还查看了 How do I map attributes returned by an IDP to friendly names inSimpleSAMLphp?,它接近我的问题,但我没有更接近解决方案。

任何提示或帮助将不胜感激:-)我的猜测是不可能变得友好 names/claims 并且我们的 Azure 团队将需要修复缺失的 attributes/claims 但我没有任何确凿的证据可以证明这一点。

在我们的 IT 部门为此花费更多时间和反复试验之后,现在一切都已修复。

它实际上是一个错误的 Azure 配置,它没有发送属性,而且奇怪的 names/claims 也可以很容易地被 Azure "translated" 命名为有意义且友好的简短名称。

这就是我一开始想要的:

它仍然显示 tenantid 等的奇怪名称,但我不关心它,因为我不使用它。我假设这是从 Azure 发送的一些标准属性。

Azure "claims" 现在看起来像这样:

我们的 IT 人员也没有提到它,但即使他们说它已修复,请在测试前等待一段时间,因为从应用更改到它在 Azure 中生效需要一些时间。至少我注意到添加新属性可能需要 15-30 分钟,尽管属性名称的更改几乎是立即完成的。