Spring Boot

OAuth2 & Authorization Server

OAuth2 dan Authorization Server, flow (authorization code, client credentials), resource server, scopes

20 pertanyaan wawancaraยท
Senior
1

Apa itu OAuth2?

Jawaban

OAuth2 adalah protokol otorisasi yang memungkinkan aplikasi pihak ketiga memperoleh akses terbatas ke layanan HTTP atas nama pengguna, tanpa mengekspos credentials pengguna. Ini bekerja melalui access token alih-alih kata sandi. OAuth2 banyak digunakan untuk autentikasi terdelegasi (login melalui Google, GitHub, dll.) dan REST API yang aman.

2

Apa flow OAuth2 yang paling aman untuk aplikasi web?

Jawaban

Authorization Code flow adalah flow yang paling aman karena access token tidak pernah diekspos ke browser. Aplikasi backend menukar authorization code sementara dengan access token melalui kanal yang aman (backend-to-backend). Dengan PKCE (Proof Key for Code Exchange), flow ini menjadi lebih aman lagi terhadap serangan interception.

3

Dalam kasus apa Client Credentials flow harus digunakan?

Jawaban

Client Credentials flow dirancang untuk komunikasi machine-to-machine (service-to-service) tanpa konteks pengguna. Aplikasi client melakukan autentikasi langsung dengan credentials-nya sendiri (client_id dan client_secret) untuk memperoleh access token. Digunakan untuk batch job, microservice, atau API backend yang bertindak atas nama mereka sendiri.

4

Apa itu PKCE (Proof Key for Code Exchange) dalam OAuth2?

5

Mengapa Implicit flow tidak lagi disarankan dalam OAuth2?

+17 pertanyaan wawancara

Kuasai Spring Boot untuk wawancara berikutnya

Akses semua pertanyaan, flashcards, tes teknis, latihan code review dan simulator wawancara.

Mulai gratis