verifySolution(), tarayıcının tüm challenge token’larını doğru şekilde çözüp çözmediğini kontrol etmek için verify uç noktanızda sunucu tarafında çağrılır. JWT imzasını, token sona ermesini, SHA-256 hash kanıtını kontrol eder ve (varsayılan olarak) token yeniden kullanımını engeller.
İçe aktarma
İmza
Parametreler
createChallenge() tarafından döndürülen orijinal JWT token(lar)ı. Challenge uç noktanızın verdiği token’ların aynısını iletin.Tarayıcı tarafından gönderilen çözüm(ler). Şunlar olabilir:
- Tek bir nonce dizesi
- Nonce dizelerinden oluşan bir dizi
- Bir
ChallengeSolutionnesnesi{ nonce: string; hash: string } ChallengeSolutionnesnelerinden oluşan bir dizi (widget’ınsolutionsolarak gönderdiği)
İsteğe bağlı yapılandırma nesnesi. Aşağıdaki seçenekler tablosuna bakın.
Seçenekler
| Seçenek | Tür | Varsayılan | Açıklama | ||
|---|---|---|---|---|---|
replayPrevention | `‘local' | 'remote' | 'disabled’` | 'local' | Token yeniden kullanımının nasıl engelleneceğini kontrol eder |
replayStore | ReplayStore | undefined | replayPrevention 'remote' olduğunda gereklidir. consume() yöntemini uygular. | ||
debug | boolean | otomatik (geliştirmede true) | Doğrulama uyarılarını konsola kaydeder | ||
onWarning | (warning: VerifyWarning) => void | undefined | Yapılandırılmış uyarı olayları için geri çağrı |
Dönüş değeri
Promise<boolean>. Yalnızca TÜM token’lar geçerli çözümlere sahipse ve yeniden oynatma kontrollerinden geçerse true döndürür. Herhangi bir başarısızlık durumunda hata fırlatmadan false döndürür.
Örnekler
Temel kullanım:Uyarı sebepleri
| Sebep | Açıklama |
|---|---|
invalid-token | JWT imzası geçersiz veya bozuk |
expired-token | Challenge TTL’si geçmiş |
invalid-solution | Nonce geçerli bir hash üretmiyor |
replay-detected | Token zaten tüketilmiş |
configuration-error | replayPrevention 'remote' ancak replayStore sağlanmamış |