Встречается на собеседованиях • сегодня
Как просиходит алгоритм аутентификации и авторизации через 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 и роли) и подпись для верификации.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы