CodeBlanks Logo Icon CodeBlanks

JWT token

JWT token yönetimini öğrenirsin.

JWT nedir?

JWT (JSON Web Token), kimlik doğrulama sonrası sunucunun verdiği bir belirteçtir (token). Üç parçadan oluşur: header.payload.signature. Her parça noktayla ayrılır ve base64 ile kodlanmıştır. JWT stateless'tir; sunucu tarafında oturum tutmaya gerek bırakmaz.

Header, imzalama algoritmasını taşır (ör. HS256). Payload, kullanıcıya ait iddia (claim) bilgilerini taşır: sub (kullanıcı id), exp (bitiş süresi). Signature, header ve payload'un gizli anahtarla imzalanmış halidir. Uygulama, her istekte bu token'ı gönderir.

Token'ı sakla ve gönder

Login sonrası token, expo-secure-store'a yazılır. await SecureStore.setItemAsync('token', token) ile yazılır, getItemAsync('token') ile okunur. API isteği yaparken Authorization başlığına Bearer ön ekiyle eklenir.

Örnek başlık: Authorization: Bearer eyJhbGciOi.... Bearer öneki JWT taşıyıcı düzenini belirtir. Sunucu, imzayı doğrulayarak kullanıcıyı tanır. Token süresi dolduğunda yeniden login gerekir; exp claim bunu belirtir.

Uygulama Authorization başlığı oluştur

authHeader işlevini tamamla. Token'ı al ve { Authorization: \`Bearer ${token}\` } nesnesini döndür. Token boşsa boş nesne döndür.

Başlangıç kodu

App.js
export function authHeader(token) {
  // Authorization başlığını döndür
}

Örnek çözüm

App.js
export function authHeader(token) {
  if (!token) return {};
  return { Authorization: `Bearer ${token}` };
}

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 JWT kaç parçadan oluşur?

  • Üç: header, payload, signature
  • İki: kullanıcı ve parola Doğru cevap
  • Dört: header, body, footer, imza
  • Bir: yalnızca imza

Açıklama: JWT üç parçadan oluşur: header, payload, signature.

2 JWT parçalarını eşle

Kavram Anlamı
header İmzalama algoritması
payload Kullanıcı claim'leri
signature Gizli anahtarla imza
exp Bitiş süresi

3 Authorization ön ekini yaz

Soru
headers: { Authorization: `____ ${token}` }
Cevap
headers: { Authorization: `Bearer ${token}` }

Açıklama: Bearer, JWT taşıyıcı ön ekidir.

İleri seviye bölümündeki tüm dersler