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

Работал ли с OAuth 2.0

Да, работал. OAuth 2.0 — это протокол авторизации, который позволяет приложениям получать ограниченный доступ к пользовательским данным без раскрытия паролей. Основные компоненты: Resource Owner (пользователь), Client (приложение), Authorization Server (выдает токены), Resource Server (хранит данные).

Основные потоки (grant types):

  • Authorization Code (веб-приложения)
  • Implicit (устарел, не рекомендуется)
  • Resource Owner Password Credentials (доверенные клиенты)
  • Client Credentials (сервис-сервисная аутентификация)

Пример запроса токена через Client Credentials (Spring Security):

java
@Bean
public OAuth2AuthorizedClientManager authorizedClientManager(
    ClientRegistrationRepository clientRegistrationRepository,
    OAuth2AuthorizedClientRepository authorizedClientRepository) {
    
    OAuth2AuthorizedClientProvider provider = OAuth2AuthorizedClientProviderBuilder.builder()
        .clientCredentials()
        .build();

    DefaultOAuth2AuthorizedClientManager manager = new DefaultOAuth2AuthorizedClientManager(
        clientRegistrationRepository, authorizedClientRepository);
    manager.setAuthorizedClientProvider(provider);
    return manager;
}

Использовал Keycloak, Okta, Google API в качестве провайдеров OAuth 2.0.

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

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

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

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