Sign inGet Started

Verificatie-instellingen

Het tabblad General van de pagina Configure bepaalt hoe elke verificatie in je werkruimte zich gedraagt. Je stelt er in hoe lang een code geldig blijft, na hoeveel foute pogingen een verificatie eindigt, hoe snel een nieuwe code kan worden verzonden en bij welke website de code hoort.

Elk veld toont de waarde die geldt: je eigen waarde als je die hebt ingesteld, anders de platformstandaard van Bird. Een veld wordt opgeslagen zodra je het verlaat. Duration, Maximum Retries en Website liggen vast zodra een verificatie wordt aangemaakt, dus een wijziging daarvan geldt voor nieuwe verificaties. Een wijziging van Retry Delay geldt vanaf de volgende aanmaakaanroep, ook voor een verificatie die al loopt.

Om een instelling te wijzigen heb je de machtiging verify_management op niveau write nodig. De rollen admin en developer bevatten die machtiging. De rol analyst kan de pagina bekijken. Zie Gebruikers, teams en rollen.

Het tabblad General van de pagina Configure met de velden Duration, Maximum Retries, Retry Delay en Website

Verificatiecyclus

InstellingWat het bepaaltStandaardBereik
DurationHoe lang een verificatie open blijft. Een controle na dit tijdvenster geeft reden expired terug, en de verificatie eindigt met reden ttl_elapsed.10 minuten1 tot 999 minuten
Maximum RetriesNa hoeveel onjuiste codes een verificatie eindigt. De laatste laat de verificatie mislukken met reden attempts_exhausted.51 tot 10
Retry DelayDe wachttijd voor opnieuw verzenden: de minimale tijd voordat er een nieuwe code naar dezelfde ontvanger wordt verzonden.60 seconden0 tot 3600 seconden
  • Duration begint zodra de verificatie wordt aangemaakt. Bij opnieuw verzenden of overschakelen naar een ander kanaal wordt een nieuwe code verstuurd, maar de oorspronkelijke vervaltijd blijft gelden. Een laat verzonden nieuwe code verlengt de geldigheidsduur dus niet. Houd deze waarde voor authenticatie op maximaal 10 minuten; Best practices legt uit waarom.
  • Maximum Retries telt foute codes over alle codes die voor de verificatie zijn verzonden, dus opnieuw verzenden zet de teller niet terug. Als een controle met een foute code de verificatie open laat, meldt het antwoord in attempts_remaining hoeveel pogingen er nog over zijn.
  • Retry Delay geldt wanneer je opnieuw create aanroept voor dezelfde ontvanger. Binnen de wachttijd geeft de aanroep de lopende verificatie terug zonder een nieuwe code te verzenden. De code via een ander kanaal verzenden valt hier niet onder, omdat overschakelen naar een ander kanaal een ander verzoek is dan hetzelfde kanaal opnieuw vragen. Stel de waarde in op 0 om bij elke create-aanroep een nieuwe code te verzenden, binnen de limieten per ontvanger in Abuse guardrails.

De codelengte stel je niet op deze pagina in. Codes bestaan standaard uit zes cijfers, en met options.code_length stel je voor één verificatie 4 tot 8 cijfers in; zie Options.

Automatisch invullen

Website geeft de site aan waar je gebruikers hun codes invoeren, zoals https://login.example.com. Als er een website is ingesteld, kunnen browsers de code op die site aanbieden en op geen enkele andere. De gebruiker hoeft de code dan niet te kopiëren. Laat het veld leeg om codes zonder website te verzenden.

Schrijf de website als https:// gevolgd door het domein in kleine letters, zonder poort, pad of afsluitende slash. Een geïnternationaliseerd domein gebruikt de xn---vorm, bijvoorbeeld https://xn--bcher-kva.example voor bücher.example. Elke andere vorm wordt geweigerd, en als er een geldige vorm bestaat, noemt de melding die. Gebruik precies de site waarop het codeveld staat: een formulier op login.example.com heeft https://login.example.com nodig, niet https://example.com.

Zodra een verificatie een website heeft, voegt Verify die toe aan de berichten met de code:

  • SMS: het bericht eindigt met een regel zoals @login.example.com #123456. Markeer je code-invoerveld met autocomplete="one-time-code" zodat Safari en andere browsers de code aanbieden, en roep vanaf de pagina de WebOTP API aan als je wilt dat de browser de code invult zonder dat de gebruiker hoeft te tikken. De extra regel kan een SMS-segment toevoegen. In veel talen die Unicode-codering nodig hebben, zoals Arabisch, Grieks of Russisch, neemt een gekoppelde code dan twee segmenten in beslag in plaats van één, waardoor de SMS-kosten verdubbelen. Een lang domein kan in andere talen hetzelfde effect hebben.
  • Email: het bericht bevat een OTP-Token-header met de code en de website, zoals gedefinieerd in de OTP-Token Internet-Draft, revisie 01. Mailapps beginnen deze header pas te lezen, dus beschouw hem als aanvulling op de code in het bericht.

De website ligt vast zodra een verificatie wordt aangemaakt. Bij opnieuw verzenden, terugvallen op een ander kanaal of een nieuwe create-aanroep voor dezelfde ontvanger blijft de website behouden.

Een code per verzoek koppelen

Een verzoek kan met options.autofill_origin een eigen website opgeven, die Website voor die verificatie vervangt. Gebruik dit wanneer één werkruimte meerdere sites bedient.

Staat het codeveld in een cross-origin iframe, zoals een betaalformulier dat in de checkout van een webwinkel is ingesloten, stel dan options.autofill_origin in op de website van de iframe en options.autofill_top_level_origin op de pagina in het browsertabblad. De SMS-regel noemt dan beide sites, zoals in @shop.example #123456 @pay.example, wat in elke taal een segment kan toevoegen. Chrome vult dat formulier automatisch in wanneer de pagina de iframe rechtstreeks insluit en er allow="otp-credentials" aan toekent. E-mail stuurt voor deze verificaties geen OTP-Token-header, omdat de header maar één website kan noemen. Het verzoek wordt geweigerd met 422 wanneer de website op het hoogste niveau ongeldig is, wanneer er in het verzoek en op deze pagina geen website is ingesteld, of wanneer die gelijk is aan die website.

Geregistreerde SMS-afzenders

Verstuur je SMS vanaf je eigen geregistreerde afzender, zoals een Amerikaanse 10DLC-campagne, voeg dan een voorbeeldbericht dat eindigt op de gekoppelde regel aan de campagne toe voordat je een website instelt. Providers kunnen een bericht filteren dat afwijkt van de geregistreerde voorbeelden van de campagne.

Problemen oplossen

  • De website wordt geweigerd. De waarde heeft niet de vereiste vorm. Voer de vorm in die de melding voorstelt, bijvoorbeeld https://example.com voor https://Example.com/.
  • De browser biedt de code niet aan. Controleer of de website exact overeenkomt met het adres van de pagina, inclusief een eventueel subdomein, en of het code-invoerveld autocomplete="one-time-code" heeft. Controleer bij een iframe of het verzoek beide websites instelt en of de insluitende pagina allow="otp-credentials" toekent. Automatisch invullen hangt ook af van de browser: Chrome leest de SMS-regel via WebOTP en Safari via zijn eigen automatische code-invulling, terwijl Firefox WebOTP niet ondersteunt (browserondersteuning).
  • Een code is verlopen voordat de gebruiker hem invoerde. Bekijk de timing van de pogingen in het Verify-logboek voordat je Duration verhoogt. Meestal is een trage bezorgroute de oorzaak, en een langer venster maakt de code zwakker.

Volgende stappen