Настраиваем Spring Security и oAuth2 в Vue.js. Spring Boot REST

Опубликовано: 28 Сентябрь 2024
на канале: letsCode
32,814
864

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...