Проблемы с OIDC при выполнении переключения DNS

#apache #dns #passenger #openid-connect #mod-auth-openidc

#apache #dns #пассажир #OpenID-connect #mod-auth-openidc

Вопрос:

Недавно мы выполнили переключение DNS в среде интеграции приложений Rails. Мы установили example-1.com как CNAME, указывающее на запись example-2.com . Служба на example-2.com это приложение Ruby on Rails с Apache и Passenger Phusion. Поверх Apache мы используем OpenID-Connect (в частности, модуль mod_auth_openidc).

Когда мы пытаемся получить доступ example-1.com напрямую все работает нормально. Но когда мы пытаемся сделать это через example-2.com мы получаем следующую ошибку:

 [Thu Aug 27 19:56:37.202141 2020] [auth_openidc:error] [pid 23165] 
[client xx.xx.xxx.xx:29188] oidc_authenticate_user: the URL hostname 
(example-1.com) of the configured OIDCRedirectURI does not match the URL hostname 
of the URL being accessed (example-2.com): the "state" and "session" cookies will 
not be shared between the two!
  

В наших файлах .confd у нас есть OIDC_REDIRECT_URI = "https://example-1.com/redirect" .

Мы думаем, что нам, возможно, придется использовать Apache для перезаписи части запроса, чтобы решить эту проблему, но мы не совсем уверены. Кто-нибудь знает лучший способ продвижения вперед?

Ответ №1:

вы можете использовать относительное значение для OIDCRedirectURI , поэтому:

 OIDCRedirectURI /redirect
  

как указано в документах:

(Обязательно) redirect_uri для этого OpenID Connect client; это URL-адрес тщеславия, который должен указывать ТОЛЬКО на путь на вашем сервере, защищенный этим модулем, но он НЕ должен указывать на какой-либо фактический контент, который необходимо обслуживать. Вы можете использовать относительный URL, такой как /protected/ redirect_uri, если хотите динамично поддерживать несколько виртуальных хостов, принадлежащих одному домену безопасности

#OIDCRedirectURI https://www.example.com/protected/redirect_uri

Комментарии:

1. У меня это не работает, я получаю «oidc_set_url_slot_type: значение конфигурации ‘/ redirect’ не может быть проанализировано как URL (схема не установлена)!»

2. вы должны использовать последнюю версию mod_auth_openidc