JWTS olan nokta ile ayrılmış üç bölümden oluşmaktadır.
xxxxx.yyyyy.zzzzz
en üstbilgi RFC ve this
göre kısa bir özet bakalım
başlık tipik olarak iki bölümden oluşur: JWT'de token, tipini ve müzakere algoritmasının gibi HMAC SHA256 veya RSA.
{
"alg": "HS256",
"typ": "JWT"
}
Faydalı yük
belirteci ikinci bölümü iddialarını içeren yükü vardır. Hak talepleri, bir varlık (tipik olarak kullanıcı) ve ek meta veriler hakkında ifadelerdir. Bu ilginç bölüm, çünkü jetonun içinde ait olup olmadığını kontrol edebiliriz. { "kullanıcı adını": "1234567890", "expiration_date": "2016-05-129" }
yeni bir belirteç oluşturduğunuzda böylece biz tanımlamak için kimliği ekleyebilir yükü içeren olacak verileri belirtebilirsiniz Bir kullanıcı ve expiration_date yeni bir tane sormak için zaman olup olmadığını kontrol etmek için.
İmza
Eğer kodlanmış başlık, kodlanmış yükü, bir sır, başlıkta belirtilen algoritma almak ve bu imzalamak zorunda imza bölümünü yaratmak. İmza, JWT'nin gönderenin kim olduğunu söylediği ve iletinin yol boyunca değiştirilmediğinden emin olmak için kullanılır. Biz sunucu tarafında bizim gizli anahtarı tutmalı
Sunucu tarafı, dolayısıyla geçerli bir yükü şifresini çözmek ve ait olduğu kullanıcı kontrol edebilirsiniz. Bu şekilde, mağaza jetonlarından sakınmaktayız, çünkü her jeton, kullanıcılarımızı doğrulamak için yeterli veri depolar. yenilenmiş kodu oluşturması gerekir istemci tarafında
süreç belirteci ?: yenilemek nasıl
aynıdır, bu nedenle istemci tarafında bir yenilemek servisinin (www.myhost gibi HTTP istek için sormalısınız.yenile/yenile) ve yenisini oluşturmak için eski belirteci gönder. Kullanıcının o jetona ait olduğunu kontrol edebileceğinizi unutmayın, dolayısıyla yenileme jetonunun aynı yükü içermesi gerekir, ancak son kullanma tarihi farklıdır.
Tekli oturum açma
Biz single sign-on gibi daha stratejilerle JWT'yi kullanabilirsiniz aynı anda kaydedilir aynı kimlik bilgileriyle yalnızca bir kullanıcı sağlamak için.
Sonunda bunun aptalca bir soru olduğunu anladım. Yakında cevaplayacağım. – Ricardo
Bu hafta sonu bir cevap yazacağım. – Ricardo