Junior — Middle
Projelerde JSON Web Token kullanımıyla ilgili deneyiminizi paylaşabilir misiniz?
sobes.tech yapay zeka
AI'dan gelen yanıt
PHP projelerinde, kullanıcıların kimlik doğrulaması ve yetkilendirmesi için JSON Web Tokens (JWT) kullandım. JWT, kullanıcı bilgilerini şifreli biçimde istemci ve sunucu arasında iletmeye olanak tanır ve sunucuda oturum tutmaya gerek kalmaz.
JWT kullanmanın temel adımları:
- Başarılı bir kimlik doğrulamasından sonra, kullanıcı bir JWT alır ve bu JWT, yük (örneğin, kullanıcı ID'si, roller) içerir.
- Token, sahteciliği önlemek için gizli bir anahtar ile imzalanır.
- İstemci, token'ı (örneğin, localStorage'da) saklar ve sonraki isteklerde Authorization başlığıyla gönderir.
- Sunucu, token'ın imzasını doğrular ve erişim haklarını belirlemek için verileri çıkarır.
firebase/php-jwt kütüphanesi kullanılarak JWT oluşturma örneği:
use Firebase\JWT\JWT;
$payload = [
'iss' => 'your-domain.com',
'iat' => time(),
'exp' => time() + 3600, // 1 saat geçerlilik süresi
'userId' => 123
];
$jwt = JWT::encode($payload, $secretKey, 'HS256');
// Doğrulama için:
$decoded = JWT::decode($jwt, $secretKey, ['HS256']);
JWT kullanımı, uygulamaların ölçeklenmesini kolaylaştırır çünkü sunucuda oturum saklama gerektirmez, ancak token'ın geçerlilik süresini doğru ayarlamak ve güncelleme işlemlerini yönetmek önemlidir.