Araç hakkında
Hangi denetimler yapılır?
- Token’ın üç bölümlü olduğu ve header’daki
algdeğerinin HS256 olduğu denetlenir.none, HS384/HS512 veya RS256 gibi beklenmeyen algoritmalar reddedilir; bu, “algoritma karıştırma” saldırılarını önler. critalanı veyab64: falseiçeren header’lar desteklenmediği için reddedilir.- İmza, girilen anahtarla yeniden hesaplanıp tüm baytlarıyla karşılaştırılır. 32 bayttan kısa anahtarlar kabul edilmez.
- Claim’ler ayrıca denetlenir:
expgeçmişse veyanbfgelecekteyse hata verilir; bekleneniss/audgirildiyse eşleşmeleri aranır (auddizi olabilir).
İmza ve claim sonuçları ayrı gösterilir: imzası geçerli ama süresi dolmuş bir token, imzası geçersiz bir token’dan farklı bir sorundur.
Sunucu tarafında unutulmaması gerekenler
- Algoritmayı token’dan değil, yapılandırmadan alın.
- Saat farkları için birkaç saniyelik tolerans tanımlayın; bu araç tolerans uygulamaz.
auddenetimini atlamayın; aksi hâlde başka bir servis için verilmiş token sizin servisinizde de geçerli olur.- Kısa ömürlü erişim token’ları ve iptal edilebilir yenileme token’ları kullanın.
Sık sorulan sorular
Beklenen iss / aud alanına ne yazmalıyım?
JSON nesnesi olarak, örneğin {"iss":"https://auth.example.com","aud":"api"}. Alan boş bırakılırsa bu iki claim denetlenmez.