Tag: cas

浏览器不遵循AJAX响应的重定向(PHP生成的响应使用CAS身份validation)

好吧,看起来我的初始问题出错了。 所以,这里有一些更正。 答案仍然适用,因为当协议更改为HTTPS(SSL)时,第二个重定向将停止。 在我的情况下,我有多次重定向,浏览器不遵循第二次重定向。 遵循第一个重定向但返回错误。 我一直在阅读包含重定向的JavaScript AJAX响应会自动跟踪,但看起来不像我的情况。 浏览器会自动跟随第一个重定向,并返回第一个重定向,而不会执行标头中的第二个重定向。 我的问题是我希望浏览器自动遵循所有重定向。 重定向是phpCAS库的一部分。 我有一个用PHP编写的API,每次都会在返回结果之前检查用户身份validation。 这是序列。 需要注意的主要事情是浏览器在执行1次重定向后返回第二个响应。 当我对localhost/example/api进行AJAX调用时,我更喜欢它一路走来并返回最后一个响应。 本地主机/示例 使用jQuery.ajax()调用localhost/example/api 响应1:localhost / example / api 重定向到https://localhost/accounts/cas/login?service=api.example.com&gateway=true (使用SSL)。 响应2:(SSL)localhost / accounts / cas / login?service = api.example.com&gateway = true 当存在查询密钥“网关”时,登录只是重定向回到“服务”密钥提供的URL,带有或不带有票证(用于表示用户是否已登录的服务)。 响应3:localhost / api?ticket = TICKET validation票证并在没有票证的情况下重定向回自身。 响应4:localhost / api 这次CAS客户端查看$ _SESSION以记住故障单,然后处理返回JSONP的API请求。 没有特别的原因我使用CAS而不是OpenID或OpenAuth(orization)。 CAS只是我能够在WordPress中工作的第一个身份validation模块。 我对使用不同的身份validation库,CMS,框架等方面的建议持开放态度。虽然,我希望能够完成这个项目。 因此,重新加工越少越好。