JWT
- Node.js kursu
- İleri seviye
- Ders 23/83
- 5 dk
jsonwebtoken ile JWT authentication öğrenirsin.
JWT nedir?
JWT (JSON Web Token), iki taraf arasında güvenle bilgi taşıyan imzalı bir dizgidir (string). Kimlik doğrulama için yaygın kullanılır: kullanıcı giriş yapar, sunucu bir JWT döner, istemci sonraki isteklerde bu JWT'yi gönderir.
JWT üç parçadan oluşur: başlık (header), yük (payload) ve imza (signature). İmza, bir gizli anahtarla (secret) üretilir; bu yüzden token değiştirilemez. Node.js'te jsonwebtoken modülü ile JWT üretip doğrularsın.
jwt.sign ve jwt.verify
jwt.sign(payload, secret) bir JWT üretir. payload bir nesnedir (örn. { user: "Ayşe" }); secret imzalama anahtarıdır. Dönen token bir dizgidir.
jwt.verify(token, secret) token'ı doğrular ve payload'u döndürür. İmza yanlışsa hata fırlatır. Üçüncü parametre olarak süre verilir: jwt.sign(payload, secret, { expiresIn: "1h" }) token'ı bir saat geçerli yapar.
Uygulama token türünü yaz
jwt modülünü içe aktar. jwt.sign({ user: "Ayşe" }, "gizli") ile bir token üret. typeof token sonucunu yaz.
Başlangıç kodu
// modülü içe aktar
// token üret
// türünü yazÖrnek çözüm
const jwt = require("jsonwebtoken");
const token = jwt.sign({ user: "Ayşe" }, "gizli");
console.log(typeof token);Beklenen çıktı
string
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Modül adını tamamla
const jwt = require("____")
const jwt = require("jsonwebtoken")
Açıklama: jsonwebtoken modülü require("jsonwebtoken") ile yüklenir.
2 Parçayı rolüne eşle
| Kavram | Anlamı |
|---|---|
jwt.sign |
Token üretir |
jwt.verify |
Token doğrular |
token |
İmzalı veri |
secret |
Gizli anahtar |
3 JWT ne sağlar?
- Dosya sıkıştırma
- Ağ hızlandırma
- Durumsuz kimlik doğrulama Doğru cevap
- Veritabanı bağlantısı
Açıklama: JWT durumsuz kimlik doğrulama sağlar.