API kimlik doğrulama: oturum, belirteç, OAuth 2.0
Oturum çerezi, API anahtarı, JWT ve OAuth 2.0 ile OpenID Connect akışlarını kurup karşılaştırır, her birinin doğru ve güvenli kullanımını uygulamalı öğrenirsin.
Seviye 401 · 16 ders · 15 pratik lab
Dersler
Temeller
- Kimlik doğrulama ile yetkilendirmenin farkı
- Sunucu oturumu ve çerez
- API anahtarını tasarlamak ve saklamak
- Parolayı doğru saklamak: argon2 ve bcrypt
- Kısa görev: oturumlu giriş ve çıkış
Belirteçler
- JWT’nin yapısı: başlık, yük, imza
- JWT’yi doğru doğrulamak
- Belirteç ömrü ve yenileme belirteci
- Tarayıcıda belirteç nerede saklanır
- Kısa görev: JWT ile korunan bir uç nokta
OAuth 2.0 ve OpenID Connect
- OAuth 2.0 rolleri ve izin kapsamları
- Yetki kodu akışı ve PKCE
- İstemci kimlik bilgileri akışı: servisler arası
- OpenID Connect ve kimlik belirteci
- Çok adımlı doğrulama ve geçiş anahtarları
- Bitirme görevi: tek oturumla giriş yapılan iki uygulama
Pratik lablar
- Çıkışta oturumu gerçekten sonlandır: Çıkışta yalnızca çerezi silen uygulamayı oturumu sunucu tarafında da geçersiz kılacak şekilde düzelt.
- Girişten sonra oturum kimliğini yenile: Giriş öncesi ve sonrası aynı oturum kimliğini kullanan uygulamada oturum sabitlemeyi göster ve kimliği yenileyerek kapat.
- Panel oturum çerezini sertleştir: Bir yönetim panelinin oturum çerezini Secure, HttpOnly, SameSite ve kısa ömürle sertleştirip her ayarın etkisini dene.
- Parola özeti maliyetini ayarla: bcrypt maliyet değerlerini lab sunucusunda ölçüp girişte yaklaşık 250 ms süren değeri seç.
- API anahtarlarını özetle sakla: Veritabanında açık duran API anahtarlarını önek ve özetle saklanan, tek tek iptal edilebilen bir düzene geçir.
- Eski özetleri girişte yükselt: MD5 özetli eski hesapları kullanıcılar giriş yaptıkça bcrypt'e yükselten bir geçiş akışı kur.
- JWT'nin içini çözümle: Bir belirtecin başlık ve yükünü çözüp kime ait olduğunu, ne zaman sona erdiğini ve hangi algoritmayı kullandığını bul.
- İmzasız belirteci kabul eden doğrulamayı düzelt: alg none belirteçleri kabul eden doğrulama kodunu algoritmayı sabitleyip aud ve exp kontrolü ekleyerek düzelt.
- Yenileme belirteçlerini döndür: Kullanılan her yenileme belirtecini geçersiz kılan, yeniden kullanım görülünce tüm zinciri iptal eden bir akış yaz.
- İstenen kapsamları en aza indir: Takvim okuyan bir uygulamanın istediği kapsamları inceleyip gerçekten gerekenlere indir.
- PKCE'li kod akışını adım adım çalıştır: Lab'daki yetkilendirme sunucusuyla PKCE kullanan bir tek sayfa uygulama girişini adım adım çalıştır.
- Gece işine servis belirteci al: Gece çalışan fatura işinin istemci kimlik bilgileriyle belirteç almasını, önbellekte tutmasını ve süresi dolmadan yenilemesini sağla.
- ID belirtecinin iddialarını doğrula: Bir OpenID Connect ID belirtecinin iss, aud, nonce ve süre iddialarını tek tek kontrol et.
- Girişe TOTP ikinci adımı ekle: Parolalı girişe zaman tabanlı tek kullanımlık kod adımı ekleyip saat kaymasına küçük bir tolerans tanı.
- İki uygulamada tek çıkış kur: Ortak kimlik sağlayıcıya bağlı iki uygulamadan birinde çıkış yapınca diğerinin oturumunun da kapanmasını sağla.
Kurs hakkında
Oturum çerezi, API anahtarı, JWT ve OAuth 2.0 ile OpenID Connect akışlarını kurup karşılaştırır, her birinin doğru ve güvenli kullanımını uygulamalı öğrenirsin.
Ne öğreneceksin
- Temeller
- Belirteçler
- OAuth 2.0 ve OpenID Connect
Ön koşullar
Aynı yolun 301 düzeyine kadar olan konularını uygulamış olmalısın.
Lab ortamı
Dersler, tarayıcında açılan sana özel bir Kali Linux terminalinde ve ona bağlı özel bir lab ağında geçer. Kurulum gerekmez.
Sık sorulan sorular
- Bu kurs benim düzeyime uygun mu?
- Kurs 401 düzeyindedir; daha düşük düzeydeki kursların konularını bildiğin varsayılır.
- Kurulum gerekir mi?
- Hayır. Her ders tarayıcında açılan sana özel bir lab ortamında geçer.
- Dersler nasıl işleniyor?
- Her ders 8 ile 10 adımdan ve bir kısa sınavdan oluşur. İlk adımlarda yazman gereken komut gösterilir, sonraki adımlarda yardım azalır; iki denemede takılırsan çözüm açılır.
- Ücretsiz deneyebilir miyim?
- Evet. Her kursun ilk üç dersi ücretsizdir.