JSON doğrulama, JWT inceleme, Base64 kodlama ve Unix zaman damgası kontrolünü birleştiren uygulamalı API hata ayıklama rehberi.
Önce hatayı katmanlara ayırın
Bir API isteği başarısız olduğunda gövde biçimi, HTTP aktarımı, kimlik doğrulama ve iş kuralını aynı anda değiştirmek tanıyı zorlaştırır. Önce durum kodunu, yanıtın Content-Type değerini ve ham gövdeyi kaydedin; ardından tek katmanı değiştirerek yeniden deneyin. 400 sınıfı her zaman bozuk JSON, 401 sınıfı da her zaman süresi geçmiş token anlamına gelmez.
Üretim tokenlarını veya müşteri kayıtlarını hata takip sistemine kopyalamayın. Yapıyı koruyan sentetik bir örnek hazırlamak, hem gizliliği korur hem de hatanın tekrar üretilebilir olmasını sağlar.
- Beklenen ve gerçek durum kodunu ayırın.
- Ham yanıtı biçimlendirmeden önce saklayın.
- Her denemede yalnızca bir değişkeni değiştirin.
JSON gövdesini sözleşmeye göre doğrulayın
Önce metnin sözdizimsel olarak geçerli JSON olup olmadığını kontrol edin. Sondaki virgül, tek tırnak, kaçırılmamış satır sonu ve sayı yerine gönderilen metin sık rastlanan sorunlardır. Geçerli JSON yine de doğru veri değildir: zorunlu alanlar, null davranışı, tarih biçimi ve iç içe nesne yapısı API sözleşmesiyle karşılaştırılmalıdır.
Biçimlendirici çıktısı alan adlarını ve tip farklarını görünür kılar. Büyük gövdelerde önce en küçük hatalı örneğe inin; gereksiz alanları çıkararak sorunun belirli bir değerden mi, yoksa şemadan mı kaynaklandığını anlayın.
JWT'yi doğrulama yapıyormuş gibi yorumlamayın
JWT'nin header ve payload bölümleri Base64URL ile kodlanmıştır; şifrelenmiş olmak zorunda değildir. Payload içindeki sub, aud, iss, exp ve nbf alanlarını okumak tanı koymaya yardım eder, fakat yalnızca decode etmek imzanın doğru olduğunu kanıtlamaz. İmza ve algoritma denetimi güvenilir bir sunucu kitaplığıyla, beklenen anahtar ve issuer yapılandırmasıyla yapılmalıdır.
alg değerini tokenın kendisinden körü körüne kabul etmeyin. Beklenen algoritmayı sunucu tarafında sabitleyin; audience ve issuer eşleşmesini, anahtar rotasyonunu ve saat sapması toleransını açıkça test edin.
- Tokenı günlüklerde tam olarak saklamayın.
- Decode ile signature verification ayrımını koruyun.
- exp, nbf, aud ve iss alanlarını birlikte inceleyin.
Zaman ve kodlama tuzaklarını kapatın
Unix zamanı saniye veya milisaniye olabilir. On üç basamaklı bir değeri saniye kabul etmek tarihi binlerce yıl ileri taşır; exp değerleri çoğunlukla saniyedir. UTC ile yerel saat gösterimini yan yana kontrol edin ve istemci-sunucu saat farkını ölçün.
Base64 ile Base64URL aynı alfabe değildir; JWT bölümlerinde tire ve alt çizgi kullanılır, padding kaldırılabilir. Tanı sonunda düzeltilen örneği bir regresyon testine dönüştürün. Böylece sorun tekrarlandığında yalnızca arayüzde değil, otomatik testte de görünür olur.
Okuduklarınızı güvenli bir denemeye dönüştürün
“JSON ve JWT ile API Hatalarını Sistematik Ayıklama” adımlarını gerçek veriye geçmeden önce sentetik bir örnekle JSON Biçimlendirici ve Doğrulayıcı üzerinde deneyin. İşaretler yalnızca bu sekmede tutulur.
Rehberi tekrarlanabilir bir kontrole dönüştürün
“JSON ve JWT ile API Hatalarını Sistematik Ayıklama” için aşağıdaki 4 araçlık kontrol planını kullanın. Hedef: JSON doğrulama, JWT inceleme, Base64 kodlama ve Unix zaman damgası kontrolünü birleştiren uygulamalı API hata ayıklama rehberi. Gerçek veri yerine güvenli bir örnekle başlayın; her adımın beklenen sonucunu ve kabul kararını kaydedin.
JSON Biçimlendirici ve Doğrulayıcı
- Hazırlık
- JSON verisini yapıştırın.
- Uygulama
- Biçimlendir veya küçült seçeneğini belirleyin.
- Kabul kontrolü
- Doğrulanan çıktıyı kopyalayın.
- Beklenen çıktı
- Biçimlendirilmiş JSON yanında kök türü, alan sayısı, en derin seviye ve UTF-8 çıktı baytı gösterilir. Alan sayısı dizi uzunluğuyla aynı ölçü değildir.. JSON verisini doğrulayın, okunabilir biçime getirin veya küçültün.
JWT Decoder
- Hazırlık
- Hassas olmayan test JWT'sini alana yapıştırın.
- Uygulama
- Header, Payload ve zaman claim'lerini çözün.
- Kabul kontrolü
- Sonucun yalnızca decode olduğunu; imza doğrulaması olmadığını unutmayın.
- Beklenen çıktı
- Header ve payload alanları okunabilir görünür. alg bir algoritma beyanıdır; sub, iss, aud ve exp tokenı üreten tarafın iddialarıdır, doğrulama sonucu değildir.. JWT Header ve Payload bölümlerini imza doğrulamadan yerel JSON olarak okuyun.
Base64 Kodlayıcı ve Çözücü
- Hazırlık
- Metni girin.
- Uygulama
- Kodla veya çöz seçeneğini belirleyin.
- Kabul kontrolü
- Hassas çıktıyı paylaşmadan önce içeriği kontrol edin.
- Beklenen çıktı
- Seçilen yöne göre Base64 metni veya çözülmüş Unicode metni; kaynak ve çıktı bayt ölçümleri gösterilir.. Unicode metni Base64'e dönüştürün veya Base64 metnini çözün.
Unix Zaman Damgası Dönüştürücü
- Hazırlık
- Epoch değeri veya normal bir tarih girin.
- Uygulama
- Saniye/milisaniye algısını ve saat dilimini kontrol edin.
- Kabul kontrolü
- UTC, yerel tarih ve Unix sonuçlarını kopyalayın.
- Beklenen çıktı
- normalize edilmiş zaman değeri, hesaplama özeti ve belirsiz saat dilimi uyarıları. Epoch saniyesi, milisaniye ve okunabilir tarih arasında iki yönlü dönüşüm yapın.
JSON Biçimlendirici ve Doğrulayıcı için şu sınır geçerlidir: JavaScript Number büyük tam sayılarda hassasiyet kaybedebilir; uzun kimlikleri tırnaklı metin olarak tutun. Yinelenen anahtarlar ayrıştırmada kaybolabilir. Bu araç JSON Schema doğrulaması yapmaz. Bu koşul karşılanmıyorsa çıktıyı zincirin sonraki adımına aktarmayın.
“JSON ve JWT ile API Hatalarını Sistematik Ayıklama” kaydında hassas içeriği değil; araç adını, seçilen ayarı, tarayıcı sürümünü ve “API yanıtı inceleme” için kabul/red gerekçesini tutun. Böylece kontrol gerçek veriyi çoğaltmadan tekrarlanabilir.
“JSON ve JWT ile API Hatalarını Sistematik Ayıklama”, geliştirici iş akışları kapsamındaki görünür ByteQuant davranışı ile yeniden üretilebilir ürün kontrolleri karşılaştırılarak hazırlandı. Sınırlar ve kabul ölçütleri karar desteği sunar; hukuki ya da güvenlik danışmanlığı yerine geçmez.