OAuth2 & Authorization Server
OAuth2 và Authorization Server, các flow (authorization code, client credentials), resource server, scopes
1OAuth2 là gì?
OAuth2 là gì?
Câu trả lời
OAuth2 là một giao thức ủy quyền cho phép một ứng dụng bên thứ ba có được quyền truy cập giới hạn vào một dịch vụ HTTP thay mặt cho người dùng, mà không để lộ credentials của người dùng. Nó hoạt động thông qua access token thay vì mật khẩu. OAuth2 được sử dụng rộng rãi cho xác thực ủy quyền (đăng nhập qua Google, GitHub, v.v.) và các REST API được bảo mật.
2Flow OAuth2 nào an toàn nhất cho các ứng dụng web?
Flow OAuth2 nào an toàn nhất cho các ứng dụng web?
Câu trả lời
Authorization Code flow là flow an toàn nhất vì access token không bao giờ bị lộ ra trình duyệt. Ứng dụng backend trao đổi một authorization code tạm thời để lấy access token thông qua một kênh bảo mật (backend-to-backend). Với PKCE (Proof Key for Code Exchange), flow này càng trở nên an toàn hơn trước các cuộc tấn công chặn bắt.
3Khi nào nên sử dụng Client Credentials flow?
Khi nào nên sử dụng Client Credentials flow?
Câu trả lời
Client Credentials flow được thiết kế cho giao tiếp machine-to-machine (service-to-service) không có ngữ cảnh người dùng. Ứng dụng client xác thực trực tiếp bằng credentials của riêng nó (client_id và client_secret) để lấy access token. Được dùng cho các batch job, microservice hoặc backend API hoạt động nhân danh chính chúng.
PKCE (Proof Key for Code Exchange) trong OAuth2 là gì?
Tại sao Implicit flow bị deprecated trong OAuth2?
+17 câu hỏi phỏng vấn
Các chủ đề phỏng vấn Spring Boot khác
Spring Core - IoC & DI
Spring Boot Auto-Configuration
Spring Boot Starters
Application Properties & YAML
Logging với SLF4J và Logback
Spring Boot DevTools
Spring MVC Basics
Spring REST Controllers
Request & Response Handling
Xử lý ngoại lệ
Bean Validation
Kiến thức cơ bản về Spring Data JPA
Thực thể JPA & Quan hệ
Truy vấn JPA
Spring Data Repositories
Cơ bản về Spring Security
Spring Boot Actuator
Kiểm thử đơn vị với JUnit & Mockito
Kiểm thử Spring Boot
Profiles và Environment
RestTemplate và WebClient
Async và Scheduling
Caching với Spring
Spring WebFlux (Reactive)
Giao dịch Spring
Xác thực và phân quyền nâng cao
JWT & Bảo mật Stateless
Spring Boot và Docker
Microservices với Spring
Spring Cloud Config
Tối ưu hóa hiệu năng
GraalVM Native Images
Nắm vững Spring Boot cho lần phỏng vấn tiếp theo
Truy cập tất cả câu hỏi, flashcards, bài kiểm tra kỹ thuật, bài tập code review và mô phỏng phỏng vấn.
Bắt đầu miễn phí