Встречается на собеседованиях • сегодня

Как просиходит алгоритм аутентификации и авторизации через JWT token в Spring Security

В Spring Security JWT-аутентификация обычно реализуется через фильтр, который проверяет токен в заголовке запроса. Основные этапы: 1. Клиент отправляет логин/пароль 2. Сервер генерирует JWT и возвращает его 3. Клиент добавляет токен в заголовок `Authorization: Bearer ` 4. Сервер проверяет токен при каждом запросе Пример конфигурации: ```java @Configuration @EnableWebSecurity public class SecurityConfig extends WebSecurityConfigurerAdapter { @Override protected void configure(HttpSecurity http) throws Exception { http.csrf().disable() .authorizeRequests() .antMatchers("/auth/login").permitAll() .anyRequest().authenticated() .and() .addFilterBefore(new JwtTokenFilter(), UsernamePasswordAuthenticationFilter.class); } } ``` Пример фильтра: ```java public class JwtTokenFilter extends OncePerRequestFilter { @Override protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) throws ServletException, IOException { String token = extractToken(request); if (token != null && validateToken(token)) { Authentication auth = getAuthentication(token); SecurityContextHolder.getContext().setAuthentication(auth); } filterChain.doFilter(request, response); } } ``` Токен содержит payload с данными пользователя (например, username и роли) и подпись для верификации.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы