Spring Boot

OAuth2 i Authorization Server

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

20 pytań z rozmów·
Senior
1

Czym jest OAuth2?

Odpowiedź

OAuth2 to protokół autoryzacji, który pozwala aplikacji zewnętrznej uzyskać ograniczony dostęp do usługi HTTP w imieniu użytkownika, bez ujawniania jego credentials. Działa za pomocą access tokenów zamiast haseł. OAuth2 jest szeroko stosowany do delegowanego uwierzytelniania (logowanie przez Google, GitHub itp.) oraz zabezpieczonych API REST.

2

Który flow OAuth2 jest najbezpieczniejszy dla aplikacji webowych?

Odpowiedź

Authorization Code flow jest najbezpieczniejszym flow, ponieważ access token nigdy nie jest ujawniany przeglądarce. Aplikacja backendowa wymienia tymczasowy authorization code na access token przez bezpieczny kanał (backend-to-backend). Z PKCE (Proof Key for Code Exchange) ten flow staje się jeszcze bezpieczniejszy wobec ataków przechwytujących.

3

W jakim przypadku należy używać Client Credentials flow?

Odpowiedź

Client Credentials flow jest przeznaczony do komunikacji machine-to-machine (service-to-service) bez kontekstu użytkownika. Aplikacja kliencka uwierzytelnia się bezpośrednio za pomocą własnych credentials (client_id i client_secret), aby uzyskać access token. Używany do zadań batch, mikroserwisów lub backendowych API działających we własnym imieniu.

4

Czym jest PKCE (Proof Key for Code Exchange) w OAuth2?

5

Dlaczego Implicit flow jest przestarzały w OAuth2?

+17 pytań z rozmów

Opanuj Spring Boot na następną rozmowę

Uzyskaj dostęp do wszystkich pytań, flashcards, testów technicznych, ćwiczeń code review i symulatorów rozmów.

Zacznij za darmo