Hapijs'te jwt eklentisi ve stratejisini kullanıyorum. Giriş kullanıcısıyken jwt jetonu oluşturabilir ve 'jwt' stratejisiyle aynı belirteci kullanarak diğer API’yi doğrulayabilirim. Jetonu 'request.state.USER_SESSION' olarak USER_SESSION belirteci adı olarak bir çerez olarak ayarlıyorum. Ayrıca bu belirteci veritabanında kaydetmiyorum. Ama çıkış zamanındaki jwt simgesini nasıl yok edebilirim. Lütfen bir yol öner.Oturum kapatmada JWT Jetonları nasıl yok edilir?
10
A
cevap
14
JWT, tarayıcı üzerinde depolanır, böylece sona erme saatinden önce sunucu tarafında belirteci geçersiz kılmak için de gerekiyorsa, örneğin silinen/bloke/hesap askıya alındı
istemci tarafında çerez silme belirteci kaldırın parola değiştirildi, izinler değiştirildi, kullanıcı yönetici tarafından oturum açtı, bir kara liste oluşturma veya döndürme jetonu oluşturma gibi bazı ortak teknikler için Invalidating JSON Web Tokens'a bir göz atın
Cevabınıza katılıyorum. Çerezde jwt belirtecini 'response.state (' USER_SESSION ', {jwtToken}); USER_SESSION çerez adıdır. Hapisteki hapishaneden temizlemek için hangi komutu çalıştırmam gerektiğini önerebilir misin? – Garima
Sunucu tarafındasınız ve bir çerezi silmek için tarayıcıları zorlayamazsınız. Ancak değeri boş olarak ayarlayabilir ve çerez değerini geçersiz kılmak için 'expires' alanını dahil edebilirsiniz. Http://stackoverflow.com/questions/5285940/correct-way-to-delete-cookies-server-side sayfasına bakın. Ayrıca cookie'leri müşteri tarafında javascript 'var delete_cookie = function (name) { document.cookie = isim + '=; expires = Per, 01 Ocak 1970 00:00:01 GMT;'; }; ' – pedrofb
Çok teşekkürler! Cevabınızdan memnunum. – Garima