В соответствии с веб-потоком 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-адреса службы для проверки?