Spring security + Angular: прямой доступ к странице входа: как переслать токен? - PullRequest
0 голосов
/ 15 декабря 2018

У меня есть сервер аутентификации с пружинной защитой oauth2, сервер ресурсов (все еще пружинный) и приложение Angular для передней части.

Я использую угловую lib для обработки аутентификации.Я использую токены JWT.

Когда я вначале открываю угловое приложение и затем нажимаю кнопку «Вход», я перенаправляюсь на форму входа, которая является частью сервера аутентификации (сторона пружины).Когда я отправляю форму входа в систему, я аутентифицируюсь и перенаправляюсь обратно в угловую часть с токеном в URL (и другой информацией, nonce ...), затем угловая библиотека извлекает эту информацию, и аутентификация завершается.Пока все идет хорошо.

Но что, если пользователь получит прямой доступ к форме входа на сервере аутентификации?Я не смогу предоставить URL-адрес перенаправления.Я установил URL перенаправления по умолчанию после успешного входа в систему, например:

 .formLogin()
            .loginPage("/login")
            .defaultSuccessUrl(env.getProperty("front.url"))
            .failureUrl("/login?error=true")
            .permitAll()

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

Тогда, конечно, если пользователь нажимает «логин», сервер аутентификации видит, что пользователь уже аутентифицирован на своей стороне, и немедленно предоставляеттокен, не показывая форму входа.Но это далеко от идеала:)

Есть ли способ справиться с делом?

Thx

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...