我正在使用simplesamlphp,以drupal作为服务提供者/客户端以及以WSO2身份服务器作为身份提供者的Web应用程序实现使用SAML的单点登录。
当我使用simplesaml门户进行测试时,能够正确检索用户数据,如下面的屏幕截图所示。
将其与drupal网站集成在一起...
- 用户将被发送到身份提供者登录页面进行身份验证。
- 成功进行身份验证后,它们会重定向回应用程序,但是用户无法访问应用程序,而是停留在单个页面上的无限循环中。
- 检查SAML请求和响应/ cookie,我看到SAML响应正发送回客户端,如下面的屏幕截图所示。我还看到IDP和SP之间来回的多个请求。
示例请求和响应
https://gist.github.com/KalemaEdgar/adad5304ae98bf98d420b2c108b13307
在以下屏幕截图中,绿色为HTTP状态代码,红色为该项。
对身份提供者的身份验证请求。
对身份提供者提供的数据的身份验证响应。
该屏幕截图显示了多个重定向。页面保持不变,并且SAMLRequest变量不断更改。
该屏幕截图显示了当我使用simplesaml门户时该过程正常运行的情况。
从WSO2身份服务器获取属性