Рубрики
Без рубрики

Как реализовать аутентификацию JWT в Java с помощью Spring Framework

Прежде всего, давайте импортируем некоторые зависимости, прежде чем начинать реальную реализацию, plea… С тегами spring security, springframework, jwt, java.

Прежде всего, давайте импортируем Прежде всего, давайте импортируем некоторые зависимости

Прежде всего, давайте импортируем некоторые зависимости Перед началом реальной реализации, пожалуйста, попробуйте получить эти зависимости в вашем проекте:

    compile group: 'com.google.code.gson', name: 'gson', version: '2.8.6'
    compile group: 'com.auth0', name: 'java-jwt', version: '3.10.3'
    compile group: 'org.springframework.security', name: 'spring-security-core', version: '5.1.5.RELEASE'
    compile group: 'org.springframework.security', name: 'spring-security-web', version: '5.1.5.RELEASE'
    compile group: 'org.springframework.security', name: 'spring-security-config', version: '5.1.5.RELEASE'

Возможно, у вас есть базовые пакеты для создания API, такого как Spring Starter Web, если вы не знаете, как создать API с помощью Java и Spring Boot, пожалуйста, прочтите следующую статью: Создание простого API с помощью Java и Spring Boot

И убедитесь, что у вас уже реализован UserRepository, но если вы не знаете, как реализовать простое соединение между java и любой базой данных SQL с помощью H2, пожалуйста, прочтите следующую статью: Реализация простой базы данных с помощью Java, JPA, Hibernate и SQL

Создание компонента для нашего PasswordEncoder

Если вы не знаете, что такое Bean, пожалуйста, прочтите следующую статью: Что такое Java @Bean?

Пожалуйста, в свой основной класс вставьте следующий код:

@Bean public BCryptPasswordEncoder bCryptPasswordEncoder() {
    return new BCryptPasswordEncoder(); 
}

Он предоставит нам экземпляр BCryptPasswordEncoder.

Внедрение нашего собственного сервиса пользовательских данных

Итак, предполагая, что мы будем проходить аутентификацию с помощью имени пользователя и пароля, мы должны реализовать класс и метод по умолчанию для поиска в базе данных, верно?

Следуйте приведенному ниже коду, пожалуйста, будьте внимательны, чтобы прочитать комментарии.

Давайте внедрим JWTAuthenticationFilter

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

Этот класс перепишет некоторые методы персональным образом, чтобы реализовать ваш UsernameAndPasswordAuthenticationFilter, который предоставляет что-то вроде ответа на наш auth.

Не забывайте быть внимательными к комментариям. Следуйте приведенному ниже коду:

Это наш AuthenticationFilter, отвечающий за проверку данных имени пользователя и пароля (мы можем сказать, что это класс, который выполняет “login”)

Давайте внедрим фильтр авторизации JWT

Если Фильтр аутентификации проверяет и подтверждает данные, наш Фильтр авторизации отвечает за запрос, точно так же, как проверяет наш токен и показывает властям.

Не забывайте быть внимательными к комментариям. Следуйте приведенному ниже файлу:

Окончательно, класс веб-безопасности

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

Не забывайте быть внимательными к комментариям. Следуйте приведенным ниже инструкциям по файлу:

Мы можем просто закончить здесь, но, в качестве бонуса, есть тестовый класс для проверки вашей функциональности входа в систему.

# Бонус – Тестовый Импл

Спасибо!!! НАСЛАЖДАЙТЕСЬ СТАТЬЕЙ <3, ОСТАВЬТЕ СВОЙ ЛАЙК ЗДЕСЬ, МИЛАЯ!!

Оригинал: “https://dev.to/eddiescj/how-to-implement-basic-authentication-in-java-with-spring-framework-2lh8”