我已成功配置simpleSAMLphp,以便通过Test Shib IDP(https://www.testshib.org/)进行身份验证。
Test Shib返回以下属性:
我想将这些属性映射到友好名称。谁能给我一些关于如何做到这一点的指示?
authsources.php中的default-sp示例包含以下内容:
/*
* The attributes parameter must contain an array of desired attributes by the SP.
* The attributes can be expressed as an array of names or as an associative array
* in the form of 'friendlyName' => 'name'.
* The metadata will then be created as follows:
* <md:RequestedAttribute FriendlyName="friendlyName" Name="name" />
*/
/*'attributes' => array(
'attrname' => 'urn:oid:x.x.x.x',
),*/
但设置
'attributes' => array('myTestValue' => 'urn:oid:0.9.2342.19200300.100.1.1'),
没有效果。
非常感谢任何帮助!
答案 0 :(得分:3)
假设SimpleSAMLPHP
1.6及更高版本,您只需使用oid2name
属性映射中的构建为您执行映射。
'authproc' => array(
50 => array(
'class' => 'core:AttributeMap',
'oid2name',
),
),
要添加到Luke的答案,您只需在以下位置添加authproc过滤器:
取自https://simplesamlphp.org/docs/stable/simplesamlphp-authproc
您可以在此处找到的来源中看到其他属性匹配,例如oid2urn
和oid2feide
:
https://github.com/simplesamlphp/simplesamlphp/tree/master/attributemap
答案 1 :(得分:2)
根据https://simplesamlphp.org/docs/stable/simplesamlphp-authproc,操作属性的正确方法是通过&#34; authproc&#34;功能。
就我而言,我在config / saml20-idp-remote.php中为https://idp.testshib.org/idp/shibboleth添加了以下配置数组:
'authproc' => array(
50 => array(
'class' => 'core:AttributeCopy',
'urn:oid:0.9.2342.19200300.100.1.1' => 'uid',
),
),
文档建议可以在以下位置添加此配置数组:
请注意,您可能需要清除所有会话(关闭并重新打开浏览器)才能使更改生效。
未来参考的最佳提示 - 始终阅读最新版本的文档!