Spring Boot Rest Application: настраиваем Spring Security oAuth2 с авторизацией Google на нашем Vue.js фронтэнде.
В rest приложении недостаточно просто подключить авторизацию и сделать ссылку на страницу авторизации Google, также требуется потратить немного времени на доработку интерфейса: позаботиться о том, чтобы у JavaScript также была информация о том, авторизован ли пользователь, а также всё необходимое для отрисовки информации о пользователе на экране.
Ссылка на код из видео:
https://github.com/drucoder/sarafan/t...
В качестве ориентира при настройке авторизации мы продолжаем использовать официальный гайд по oAuth2 из блога проекта Spring:
https://spring.io/guides/tutorials/sp...
Первым шагом мы подключаем к проекту шаблонизатор Thymeleaf и заменяем нашу статичную стартовую страницу на шаблон, способный динамически подхватить информацию об авторизованном пользователе и список существующих сообщений.
Зависимости на необходимые в этом видео модули лежат тут:
https://gist.github.com/drucoder/06f3...
Далее мы немного дорабатываем наш JavaScript код для отображения приглашения авторизоваться, если пользователь не авторизован и кнопки, предлагающей разавторизоваться для авторизованных пользователей.
Когда авторизация успешно прошла, мы добавляем поддержку Spring Session для хранения сессий активных пользователей в БД. Это позволит избегать повторных запросов авторизации для пользователей после перезагрузки приложения.
Проперти, необходимые для Spring Session:
https://gist.github.com/drucoder/9f8c...
Видео настройки Spring Session для Sweater Application:
• Spring Boot: reCaptcha, rest client, ...
Использование oAuth2 авторизации вносит свои корректировки и нам необходимо немного изменить структуру таблицы, хранящей сессии пользователей.
Скорректированный скрипт таблиц для Postgres:
https://gist.github.com/drucoder/a1bd...
Личный кабинет в Google Developer Console, где создаются токены:
https://console.cloud.google.com/apis...
Ссылка на плейлист Sweater App (Spring MVC):
• Spring Boot: делаем простое веб прило...
➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
➡ Твиттер: / letscodedru
➡ Чат в Discord: / discord
➡ Группа Вконтакте: https://vk.com/letscodedru
➡ Канал в Telegram: https://t.me/letsCode_dru
➡ Чат в Telegram: https://t.me/joinchat/FeiP9xEhqHajfqh...
➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
Поддержать проект:
➡ Patreon / letscodedru
➡ Яндекс.Деньги https://money.yandex.ru/to/4100145167...
➡ PayPal paypal.me/letscodedru
➡ Qiwi https://qiwi.me/letscode
➡ WebMoney/BitCoin https://funding.webmoney.ru/d/drucoder
➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
➡ Ссылка на канал: / @letscodedru
➡ Ссылка на Яндекс.Дзен: https://zen.yandex.ru/media/id/5ac209...