Почему сервер Apereo CAS перенаправляет на локальный хост для конечной точки OAuth2? - PullRequest
0 голосов
/ 21 апреля 2020

Я настроил сервер CAS на 172.16.238.10, который обычно работает с протоколом CAS. Однако для OAuth2 существует странное поведение перенаправления:

REQ: https://172.16.238.10: 8443 / ooscas / oauth2.0 / authorize

RESP: 302, Расположение: https://localhost: 8443 / ooscas / login? Service = https% 3A% 2F% 2Flocalhost% 3A8443% 2Fooscas% 2Foauth2.0% 2FcallbackAuthorize% 3Fclient_name% 3DCasOAuthClient

Не обращайте внимания на сервис и Параметры client_name для этого поэтапного примера, но у меня вопрос по поводу имени хоста:

Откуда исходит "localhost"? Как я могу настроить это как что-то еще?

В реальном веб-потоке OAuth2 localhost просто не будет работать, даже если 172.16.238.10 окажется localhost. Причина в том, что после отправки формы входа в систему на локальном хосте сервер CAS затем перенаправляет на себя, используя localhost (https://localhost: 8443 / oauth2.0 / callbackAuthorize ), что приводит к внутренней ошибке рукопожатия SSL потому что сертификат сервера недействителен для localhost.

1 Ответ

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

Скорее всего, вам нужно определить следующее:

cas.server.name=
cas.server.prefix=${cas.server.name}/cas

Вы ссылаетесь на префикс в вашей настройке, но его определение кажется отсутствующим. Если вы этого не сделаете, будут использованы значения по умолчанию.

PS Всегда указывайте версию CAS в своих сообщениях.

...