我正在开发php codeigniter基础Web应用程序并通过在窗口10 上安装 shibboleth-sp-2.6.0.1-win64.msi 来实现Shibboleth 我的个人计算机上的IIS V10.0.14393.0 。
IIS上安装了ISAPI模块,该模块位于shibboleth安装中 C:\ opt \ shibboleth -sp \ lib64 \ shibboleth \ isapi_shib.dll
身份验证过程正常,IdP重定向回SP。 Shibboleth会话看起来 OK,但是 $ _SERVER中缺少env变量,现有变量是空的。
我需要与经过身份验证的用户相关的shibboleth会话变量,并希望根据我的应用程序要求将其保存在php会话中。我无法弄清楚如何在IIS上用PHP做这件事。
重定向返回表单idp后,/ Shibboleth / Session打印出以下响应数据。
Miscellaneous
Session Expiration (barring inactivity): 480 minute(s)
Client Address: 127.0.0.1
SSO Protocol: urn:oasis:names:tc:SAML:2.0:protocol
Identity Provider: http://sts.platform.rmunify.com/sts
Authentication Time: 2017-06-02T07:01:45.867Z
Authentication Context Class: urn:oasis:names:tc:SAML:2.0:ac:classes:Password
Authentication Context Decl: (none)
Attributes
identityguid: c3ec37e9-ff24-4143-be53-9526650cef34
organisationCode: 0020051
organisationid: 9b975206-da98-4893-a47c-e3e68b100169
shibd.log文件包含以下行
2017-06-02 15:52:33 INFO Shibboleth.SessionCache [2]: new session created:
ID (_3dc0307b7f78094057945aa4254b0e15)
IdP (http://sts.platform.rmunify.com/sts) Protocol(urn:oasis:names:tc:SAML:2.0:protocol)
Address (127.0.0.1)
但$ _SERVER数组中缺少Shib-Session-ID
和其他一些属性
只获取shibboleth属性HTTP_SHIBSPOOFCHECK
与$ _SERVER数组中的其他服务器相关数据,并获取以下shibboleth cookie _shibsession_64656661756c74687474703a2f2f6465762e676f6f73656265727279706c61792e636f6d2f73686962626f6c657468
。
我想要$ _SERVER数组中经过身份验证的用户数据,我无法使用 找出为什么IIS不映射$ _SERVER中的属性 阵列。
在这方面的任何帮助将受到高度赞赏,谢谢。