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

Какие знаешь протоколы авторизации в Spring Security

Spring Security поддерживает несколько протоколов авторизации:

  1. OAuth2 – популярный протокол для делегированной авторизации. Поддерживает разные потоки (authorization code, implicit, client credentials, password).
    Пример конфигурации:
    java
    @EnableWebSecurity
    public class OAuth2Config extends WebSecurityConfigurerAdapter {
        @Override
        protected void configure(HttpSecurity http) throws Exception {
            http.oauth2Login();
        }
    }
  1. JWT (JSON Web Token) – токен-базированный подход. Часто используется с OAuth2.
    Пример проверки токена:

    java
    @Bean
    public JwtDecoder jwtDecoder() {
        return NimbusJwtDecoder.withPublicKey(publicKey).build();
    }
  2. Basic Auth – простая аутентификация через заголовок Authorization: Basic base64(username:password).
    Пример:

    java
    http.httpBasic();
  3. SAML 2.0 – для enterprise-аутентификации через Identity Provider (IdP).
    Конфигурация:

    java
    http.saml2Login();
  4. LDAP – для аутентификации через LDAP-сервер.
    Пример:

    java
    auth.ldapAuthentication()
        .userDnPatterns("uid={0},ou=people")
        .contextSource()
        .url("ldap://localhost:389/dc=example,dc=com");
  5. Form Login – стандартная HTML-форма (/login).

    java
    http.formLogin();

Выбор зависит от требований: OAuth2/JWT для API, SAML/LDAP для корпоративных систем, Basic Auth для простых сценариев.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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