Пошаговое руководство по реализации аутентификации на основе JWT, Часть 1
Аутентификация на основе JWT очень полезна, когда у нас есть веб- и мобильные клиенты, а также серверный сервер, который обеспечивает хорошую альтернативу аутентификации на основе сеанса. Я не нашел хорошего учебника по этой теме, поэтому решил сделать один.
Теория
Аутентификация на основе сеанса против аутентификации на основе токена | автор Sherry Hsu | Medium
Шерри Хсу ・ 27 июля 2018 ・ Средний
Видеоурок
Я нашел это потрясающее руководство по реализации базовой аутентификации на основе JWT для таких новичков, как я. В этом руководстве мы реализуем базовую аутентификацию на основе JWT с использованием макетного пользователя и без базы данных, чтобы понять концепцию. Позже мы расширим его, чтобы интегрировать базу данных и полные функции регистрации и входа в систему.
Если вы просто хотите ознакомиться с кодом, загляните в ветку Github | .
Особенности, которые мы разработаем
JWT util-файл для создания и проверки JWT знак
Контроллер для генерации токена JWT
Пользователь будет жестко закодирован
Нет кодировщика паролей
Демонстрация на Youtube
Я создал короткое видео продолжительностью 7 минут, чтобы объяснить весь компонент, если у вас нет времени посмотреть полное 40-минутное видео Javabrains, или вы уже знаете о JWT auth, но не знаете, как его реализовать в spring.
Шаг 1
Создайте проект Spring со следующей зависимостью в pom.xml
Шаг 2
Создайте пользовательскую службу MyUserDetailsService, которая расширяет UserDetailsService пакета security.core и переопределяет loadUserByUsername путем жесткого кодирования пользователя, для простоты.
Мы будем сохранять и извлекать пользователя из базы данных в более позднем руководстве.
Шаг 3
Создайте файл SecurityConfigurer и включите аннотацию EnableWebSecurity
Что следует отметить
В этом руководстве мы не использовали никакого кодировщика паролей. Мы будем использовать BCrypt encoding в следующем уроке
Antmatchers означает, что, кроме конечной точки ‘/authenticate’, все остальные API будут аутентифицированы
Мы используем политику создания сеанса без сохранения состояния, то есть каждый api будет аутентифицирован.
мы предоставляем нашу реализацию Userdetailsservice для Весна AuthenticationManagerBuilder
Шаг 4
Создайте файл JWT util для проверки и создания токенов. Посмотрите видео (перемотка вперед до 10:00) выше, чтобы узнать больше о каждой функции.
Шаг 5
Создайте цепочку фильтров для извлечения токена JWT из заголовка авторизации, проверки токена и настройки аутентификации в контексте безопасности t.
Шаг 6
Создайте контроллер для проверки подлинности
В следующем уроке мы подключим это к реальным пользователям в базе данных MySQL и реализуем функцию регистрации/входа в систему.
Спасибо за чтение:)
Оригинал: “https://dev.to/nilmadhabmondal/let-s-implement-basic-jwt-based-authentication-in-spring-boot-5ec4”