Spring Gateway OAuth - полный URL-адрес при перенаправлении - PullRequest
0 голосов
/ 04 августа 2020

Мы используем Spring Gateway Service для безопасности (OAuth2). На перенаправление для входа в систему отвечает как относительный путь. Например: Местоположение: /oauth2/authorization/client1.

Как мы можем заставить отвечать полный URL-адрес при перенаправлении (всегда, а не только для входа)

Например: Местоположение: https://example.com/oauth2/authorization/google

Любая помощь, пожалуйста.

1 Ответ

0 голосов
/ 06 августа 2020

Вот как у меня это работает - по крайней мере, для URL-адресов входа в авторизацию и авторизации.

  1. Создайте класс, расширив DefaultServerRedirectStrategy, и реализуйте метод sendRedirect, добавив baseUrl (schema, host и порт) в параметр uri.

  2. Создайте экземпляр RedirectServerAuthenicationSuccessHandler и установите redirectStrategy, созданный на шаге 1.

  3. В ServerHttpSecurity.oauth2Login ( ) установите authentionSuccessHandler, созданный на шаге 2

  4. Как и на шаге 2 и шаге 3, создайте экземпляр RedirectServerAuthenticationEntryPoint, установите redirectStragey и добавьте его в ServerHttpSecurity.exceptionHandling ()

Надеюсь, это поможет всем, кто ищет решение.

...