我正在使用一个登录名的php-saml库作为SP来连接到客户端的IDP。但是由于某种原因,当客户端发送其SAML响应时,由
设置的数组$_SESSION['samlUserdata'] = $auth->getAttributes()
返回空。如果有人对导致这种情况的原因有任何见识,那么与您分享将不胜感激。
首先,我建议您检查自己的saml元数据。
您有想要获取的属性列表吗?喜欢:
<md:AttributeConsumingService index="1">
<md:ServiceName xml:lang="en">Service</md:ServiceName>
<md:ServiceDescription xml:lang="en">Sign-on</md:ServiceDescription>
<md:RequestedAttribute Name="username" isRequired="true" />
<md:RequestedAttribute Name="email" isRequired="true" />
<md:RequestedAttribute Name="firstName" isRequired="true" />
<md:RequestedAttribute Name="lastName" isRequired="true" />
</md:AttributeConsumingService>
第二,如果适用,尝试捕获传入的请求并进行手动分析。
此外,请确保已根据您的元数据正确配置了客户端。
它不会发送有关已登录用户的所有信息。
客户端必须为您的SAML显式声明/映射/配置属性。