OAuth 2.0, OIDC ve PKCE
OAuth 2.0 ve OIDC: roller ve token amacı
Yetki devri ile kullanıcı kimliğini karıştırmadan akışı anla.
Kavramı anlayalım
OAuth 2.0 erişim yetkisi devrinin çerçevesidir; tek başına “kullanıcı kimliği budur” protokolü değildir. Resource owner, client, authorization server ve resource server rollerini ayır. Client kullanıcının adına bir API’ye sınırlı erişim almak isteyebilir. Onay ve scope erişim kapsamını belirler; API token’ı kendi doğrulama sözleşmesine göre kontrol eder.
OpenID Connect OAuth üzerine kimlik katmanı ekler. ID token client’a oturum/kimlik bilgisi verir; access token resource server’a erişim içindir. Bir API ID token kabul ederek audience ve token amacı sınırını bozmamalıdır. UserInfo endpoint’i, discovery ve issuer metadata gibi parçalar sağlayıcının modelini tamamlar.
Her token JWT veya browser storage değeri değildir. Authorization code kısa ömürlü tek kullanımlık bir değişim aracıdır; access token yerine API’ye gönderilmez. Kullanıcı onayı bütün kaynakları sınırsız açmaz. Gerçek akışı çizerken her okta hangi actor hangi token’ı görür, kime verir ve ne doğrular sorularını yaz. Böylece redirect, secret ve callback hataları daha görünür hale gelir.
Sosyal login ve harici API erişim akışını tasarlarken.
ID token’ı API access token olarak kullanmak.
Aynı konu. Üç farklı derinlik.
Client → authorization server: request delegated accessErişim isteği; doğrudan API işi değildir.
Bu sayfa dış sunuculara istek göndermez. HTTP mesajları temsili, HTTP/1.1 biçiminde okunabilir gösterimlerdir; HTTP/2 ve HTTP/3 wire formatı değildir. example.test ayrılmış öğretim alan adıdır. Komut ve JavaScript örneklerini yalnız kendi test ortamında uygula; gerçek token veya cookie yayımlama.
Önce kendin dene.
Google’dan ID token aldın. Her API’ye bearer olarak yollayabilir misin?
Çözümü ve açıklamasını göster
No: use the API’s accepted access-token contract.Hayır. Issuer, audience ve token amacı API ile eşleşmelidir.