Хорошо, похоже, я ошибся в своем первоначальном вопросе. Итак, вот несколько поправок. Ответ остается в силе, потому что второе перенаправление останавливается при смене протокола на HTTPS (SSL).
В моем случае перенаправление происходит несколько раз, и браузер не следует второму перенаправлению. Выполняется первое перенаправление, но возвращается ошибка.
Я продолжаю читать, что ответы JavaScript AJAX, содержащие перенаправления, выполняются автоматически, но, похоже, не в моем случае.За первым перенаправлением автоматически следует браузер, а первое перенаправление возвращается без второго перенаправления в заголовке. Моя проблема в том, что я хочу, чтобы все перенаправления автоматически выполнялись браузером.
Перенаправления являются частью библиотеки phpCAS. У меня есть API, написанный на PHP, который каждый раз проверяет аутентификацию пользователя перед возвратом результатов.
Вот последовательность. Главное отметить, что браузер возвращает второй ответ после выполнения 1 редиректа. Я бы предпочел, чтобы он прошел весь путь и вернул последний ответ, когда я делаю AJAX-вызов localhost/example/api
.
localhost/example
localhost/example/api
с использованием jQuery.ajax()Ответ 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
Ответ 3: localhost/api?ticket=TICKET
Ответ 4: localhost/api
Нет особой причины использовать CAS вместо OpenID или OpenAuth(orization).CAS был лишь первым модулем аутентификации, который мне удалось заставить работать в WordPress. Я открыт для предложений по использованию другой библиотеки аутентификации, CMS, фреймворка и т. д. Хотя я надеюсь просто завершить этот проект. Так что чем меньше переделывать, тем лучше.