OAuth2 та Authorization Server
OAuth2 та Authorization Server, флоу (authorization code, client credentials), resource server, scopes
1Що таке OAuth2?
Що таке OAuth2?
Відповідь
OAuth2 — це протокол авторизації, який дозволяє сторонньому застосунку отримати обмежений доступ до HTTP-сервісу від імені користувача, не розкриваючи credentials користувача. Він працює через access token замість паролів. OAuth2 широко використовується для делегованої автентифікації (вхід через Google, GitHub тощо) та захищених REST API.
2Який OAuth2 flow найбезпечніший для вебзастосунків?
Який OAuth2 flow найбезпечніший для вебзастосунків?
Відповідь
Authorization Code flow — найбезпечніший flow, оскільки access token ніколи не розкривається браузеру. Backend-застосунок обмінює тимчасовий authorization code на access token через захищений канал (backend-to-backend). З PKCE (Proof Key for Code Exchange) цей flow стає ще безпечнішим проти атак перехоплення.
3У якому випадку слід використовувати Client Credentials flow?
У якому випадку слід використовувати Client Credentials flow?
Відповідь
Client Credentials flow призначений для комунікації machine-to-machine (service-to-service) без контексту користувача. Клієнтський застосунок автентифікується безпосередньо за допомогою власних credentials (client_id та client_secret), щоб отримати access token. Використовується для batch-завдань, мікросервісів або backend API, що діють від власного імені.
Що таке PKCE (Proof Key for Code Exchange) в OAuth2?
Чому Implicit flow вважається застарілим в OAuth2?
+17 питань зі співбесід
Інші теми співбесід Spring Boot
Spring Core - IoC & DI
Spring Boot Auto-Configuration
Spring Boot Starters
Application Properties & YAML
Логування за допомогою SLF4J та Logback
Spring Boot DevTools
Spring MVC Basics
Spring REST Controllers
Request & Response Handling
Обробка винятків
Bean Validation
Основи Spring Data JPA
Сутності JPA та зв'язки
Запити JPA
Spring Data Repositories
Основи Spring Security
Spring Boot Actuator
Модульне тестування з JUnit та Mockito
Тестування Spring Boot
Profiles та Environment
RestTemplate і WebClient
Async і Scheduling
Кешування зі Spring
Spring WebFlux (Reactive)
Транзакції Spring
Розширена автентифікація та авторизація
JWT та stateless-безпека
Spring Boot і Docker
Microservices зі Spring
Spring Cloud Config
Оптимізація продуктивності
GraalVM Native Images
Опануй Spring Boot для наступної співбесіди
Отримай доступ до всіх питань, flashcards, технічних тестів, вправ code review та симуляторів співбесід.
Почни безкоштовно