Протокол Apereo CAS: разрешено ли серверу CAS изменять URL-адрес? - PullRequest
0 голосов
/ 18 апреля 2020

В соответствии с веб-потоком CAS (https://apereo.github.io/cas/5.0.x/images/cas_flow_diagram.png):

После успешной аутентификации сервер CAS отправляет перенаправление в браузер, который содержит Cook ie и URL-адрес (расположение -header). Этот URL-адрес является первоначально запрошенным защищенным URL-адресом с добавлением параметра билета (содержащего сервисный билет). Является ли это нарушением протокола CAS, если сервер CAS добавляет дополнительные параметры к этому URL-адресу?

В моем случае пользователь выбирает язык из раскрывающегося списка при аутентификации на сервере CAS. Этот параметр lang затем отправляется вместе с именем пользователя и паролем, и сервер CAS просто добавляет его к URL-адресу, который он отправляет в перенаправлении, в виде чего-то вроде «& lang = fr-FR».

Клиент Apereo Java сталкивается с ошибкой проверки из-за этого параметра. Это связано с тем, что в URL-адресе службы, для которого проверяется билет службы, содержится этот параметр lang. Сервер CAS затем не проверяет билет службы, поскольку он был выдан для другого URL-адреса (без параметра lang).

Поэтому мой вопрос: нарушает ли этот конкретный сервер CAS протокол CAS?

Или клиент Apereo CAS должен был решить эту проблему, удалив все неизвестные параметры запроса при создании URL-адреса службы для проверки?

1 Ответ

0 голосов
/ 20 апреля 2020

Итак, мой вопрос: нарушает ли этот конкретный сервер CAS протокол CAS?

Да.

Из протокола CAS service для конечной точки входа в систему is:

service [ДОПОЛНИТЕЛЬНО] - URL-адрес приложения, к которому пытается получить доступ клиент.

Из протокола CAS service для конечной точки проверки:

service [REQUIRED] - идентификатор службы, для которой был выпущен билет

Также указано в кодах ошибок,

INVALID_SERVICE - предоставленный билет действителен, но указанная служба не соответствует службе, связанной с билетом. CAS ДОЛЖЕН сделать недействительным билет и запретить дальнейшую проверку этого же билета.

...