我正在使用SSO Saml身份验证流程,如下所示:
- 用户发送SAMLRequest
- 用户被重定向到IdP登录页面
- 用户提交登录详细信息
- IdP验证并重定向到我的消费者断言处理页面
- 提取并提交用于令牌以与API交互的访问令牌
醇>
我坚持第5步。在fiddler中,我可以看到发送的请求标头已发布所需的SAMLResponse,但它没有显示在$ _POST,$ _GET和我尝试过的file_get_contents( ' PHP://输入&#39)。响应是301重定向的结果。
带有所需SAMLResponse的传入头请求重定向(301)到我的断言使用者页面,如下所示。我无法弄清楚如何提取已发布的参数SAMLResponse?
POST http://localhost/xxxxxxxxxxx 主持人:localhost 连接:保持活力 内容长度:7710 缓存控制:max-age = 0 来源:null 升级 - 不安全请求:1 User-Agent:Mozilla / 5.0(Windows NT 6.1; WOW64)AppleWebKit / 537.36(KHTML,与Gecko一样)Chrome / 51.0.2704.103 Safari / 537.36 内容类型:application / x-www-form-urlencoded 接受:text / html,application / xhtml + xml,application / xml; q = 0.9,image / webp, / ; q = 0.8 Accept-Encoding:gzip,deflate Accept-Language:en-US,en; q = 0.8 Cookie:optimizelyEndUserId = oeu1463724346007r0.9674156716176872; ajs_anonymous_id =%22c336991a-286A-4278-8cb2-3d00d784f376%22; optimizelySegments =%7B%225943211328%22%3A%22direct%22%2C%225934960299%22%3A%22false%22%2C%225952160221%22%3A%22gc%22%7D; optimizelyBuckets =%7B%7D; ajs_user_id = NULL; ajs_group_id = NULL; _ga = GA1.1.1336717339.1458634274; PHPSESSID = imtffdda2a6g576rtd0vpb8ro2
SAMLResponse = XXXXXXXXXXXXXXXX
我已经在网上扫描了一个星期,但还没有找到解决方案。提前感谢您的帮助。
答案 0 :(得分:0)
事实证明我错过了我的消费者断言网址上的尾随/当然意味着服务器正在重定向到index.php,导致可用后的丢失。