Hata: "RIBAUNT_SECRET environment variable is not set!"
Hata: "RIBAUNT_SECRET environment variable is not set!"
RIBAUNT_SECRET ortamınızda eksik veya createChallenge ya da verifySolution’a yapılan ilk çağrıdan önce işleme yüklenmemiş.Düzeltme: Sunucunuz ilk isteğini işlemeden önce değişkenin tanımlandığından emin olun. Bir .env dosyası kullanıyorsanız, dotenv gibi bir araçla giriş noktanızın en üstüne yükleyin:RIBAUNT_SECRET’i kaynak kontrolüne işlemek yerine platformunuzun ortam değişkeni panosu üzerinden ayarlayın. Eğer yanlışlıkla açığa çıkarsa gizli anahtarı hemen değiştirin.Widget hatası: "Web Crypto API is unavailable. Use HTTPS or localhost."
Widget hatası: "Web Crypto API is unavailable. Use HTTPS or localhost."
verifySolution false döndürüyor — sebep: "expired-token"
verifySolution false döndürüyor — sebep: "expired-token"
createChallenge çağrınızda ttlSeconds’ı artırın. Varsayılan 30 saniyedir; karmaşık sayfalar veya formlar için 120–300 değerini düşünün:verifySolution false döndürüyor — sebep: "replay-detected"
verifySolution false döndürüyor — sebep: "replay-detected"
local yeniden oynatma deposu, token’ları ilk kullanımda tüketilmiş olarak işaretler ve sonraki herhangi bir gönderimi reddeder.Düzeltme: Bu normal kullanıcı akışlarında oluyorsa, büyük olasılıkla ön ucunuzun aynı token’ları yeniden gönderdiği anlamına gelir (örn. form yeniden denemesinde). Yeniden göndermeden önce challenge uç noktanızı tekrar çağırarak her deneme için taze token’lar verin.Bunu sunucusuz veya çoklu örnekli dağıtımlarda görüyorsanız, sorun her işlev çağrısının kendi bellek içi deposuna sahip olmasıdır. Bir örnekte tüketilen token’lar diğerlerine görünmez. Dağıtılmış bir depoyla replayPrevention: 'remote' moduna geçin:Widget otomatik olarak doğrulamaya başlamıyor
Widget otomatik olarak doğrulamaya başlamıyor
auto-verify özniteliği yok veya widget, ayarlanmış olsa bile auto-verify’ın tetiklenmesini engelleyen disabled durumunda.Düzeltme: HTML öğesine auto-verify="true" veya React sarmalayıcısında autoVerify={true} ekleyin:disabled’ın ya yok ya da açıkça "false" olarak ayarlandığından emin olun. Widget devre dışıyken auto-verify tetiklenmeyecektir.Widget görünmüyor veya yükleme sırasında JS hatası
Widget görünmüyor veya yükleme sırasında JS hatası
type="module" olmadan yükleme veya paketin tarayıcı dışa aktarımını doğru çözmeyen bir paketleyici bulunur.Düzeltme: Widget betiğini modül olarak yükleyin ve yolun dist/widget-browser.js’e işaret ettiğini doğrulayın:browser dışa aktarım koşulunu çözdüğünden emin olun. Widget tree-shake edilirse veya bulunamazsa, dışa aktarma koşullarını nasıl yapılandıracağınız için çerçevenizin belgelerine bakın.verifySolution sunucusuz veya edge dağıtımlarında her zaman false döndürüyor
verifySolution sunucusuz veya edge dağıtımlarında her zaman false döndürüyor
local yeniden oynatma deposu işlem belleğinde yaşar. Sunucusuz ortamlarda her işlev çağrısı yeni bir işlemdir, bu nedenle bir önceki çağrıda tüketilen token’lar bir sonraki için bilinmez. Bu, bellek içi deponun her gönderimi ilk gibi değerlendirmesine neden olur — ancak iki eşzamanlı çağrı yarışırsa, her ikisi de aynı token’ı tüketebilir veya hiçbiri yeniden oynatmaya karşı koruma sağlamak için durumu yeterince uzun süre tutamaz.Düzeltme: Atomik SET NX EX semantiği kullanan bir Redis veya Valkey bağdaştırıcısı ile replayPrevention: 'remote' moduna geçin:React sarmalayıcısı Next.js'te bir SSR hatası fırlatıyor
React sarmalayıcısı Next.js'te bir SSR hatası fırlatıyor
<ribaunt-widget> web bileşeni, customElements ve window gibi yalnızca tarayıcıya özgü API’ler kullanarak kendini kaydeder. Bunlar sunucu tarafı işleme sırasında mevcut değildir.Düzeltme: RibauntWidget’ı içe aktaran veya işleyen herhangi bir bileşen dosyasının başına 'use client' ekleyin:next/dynamic ile sarmayın — Ribaunt React sarmalayıcısı, tarayıcı paketinin dinamik içe aktarımını dahili olarak zaten ele alır. İkinci bir dinamik içe aktarma katmanı eklemek bu mekanizmaya müdahale edebilir ve çift yüklemeye veya hidrasyon uyuşmazlıklarına neden olabilir.Hata ayıklama günlüklerini etkinleştirme
Varsayılan olarak Ribaunt,NODE_ENV development olarak ayarlandığında doğrulama uyarılarını konsola kaydeder. Diğer ortamlarda, siz katılmadıkça uyarılar sessizdir. Konsol çıktısını açıkça etkinleştirmek için debug seçeneğini kullanın veya herhangi bir ortamda çalışan yapılandırılmış günlük kaydı için onWarning kullanın.
NODE_ENV=development’ta debug varsayılan olarak etkindir — yerel geliştirme sırasında bunu açıkça iletmenize gerek yoktur. Üretimde, uygulama günlüklerini düşük sinyalli gürültüyle doldurmaktan kaçınmak için debug: true yerine onWarning’e güvenin.