Bezoekers aanmelden in twee stappen laten inschakelen
Doel
Laat iemand die zich op je portal aanmeldt aanmelden in twee stappen inschakelen: een authenticator-app op zijn telefoon die bij elke aanmelding om een code van zes cijfers wordt gevraagd.
Voordat je begint
- Een portal die bezoekers vraagt zich aan te melden. Zie Bezoekers vragen zich aan te melden.
Het is allemaal één knop
Teken een knop op een willekeurig scherm van je portal en geef hem deze handler:
openAccountSecurity();
Dat is alles. Het platform opent zijn eigen paneel over je pagina, en de bezoeker scant een code, typt zes cijfers en bewaart zijn herstelcodes, zonder dat jij daar iets van hoeft te tekenen.
Of teken het zelf
Wil je liever dat de pagina eruitziet als de rest van je site, teken dan een eigen scherm — achter de aanmelding, want het gaat over het account van de bezoeker — en geef het deze aanroepen, in deze volgorde:
| Wanneer | Aanroep |
|---|---|
| Het scherm laadt | loadAccountSecurity("mfa") — state.mfa.enabled zegt of het aan staat |
| Er wordt op Inschakelen gedrukt | startAuthenticator("enrol") |
| Er wordt op Code controleren gedrukt | verifyAuthenticator(getState("code"), "codes") |
| Er wordt op Ik heb ze bewaard gedrukt | completeAuthenticator("done") |
| Er wordt op Uitschakelen gedrukt | disableAuthenticator(getState("offCode")) |
- De QR-code is
state.enrol.qrCode— voeg een afbeelding toe en koppel de bron eraan. Zetstate.enrol.sharedKeyernaast voor iedereen van wie de camera de code niet kan lezen. - De herstelcodes komen als lijst in
state.codesterecht; herhaal een regel eroverheen dierow.codetoont. - Aanmelden in twee stappen staat pas aan na
completeAuthenticator. De code controleren bewijst alleen dat de app werkt. Teken de codes dus met een zin die de bezoeker vertelt ze nu te bewaren — ze worden niet opnieuw getoond — en een knop waarmee hij aangeeft dat hij dat heeft gedaan. Vergeet je pagina die stap, dan blijft de factor gewoon uit, in plaats van aan te gaan met codes die niemand heeft gezien.
De QR-code wordt in de eigen browser van de bezoeker getekend; hij wordt nooit ergens heen gestuurd om er een afbeelding van te maken, omdat hij het geheim bevat dat zijn app gaat gebruiken.
Het voorbeeld portal-landing-page heeft dit als scherm Sign-in security.
Wat de bezoeker ziet
Het paneel zegt hoe zijn account is ingesteld, en biedt het ene aan wat beschikbaar is:
| Zijn account | Wat het paneel aanbiedt |
|---|---|
| Aanmelden in twee stappen uit | Aanmelden in twee stappen inschakelen — scannen, bewijzen, codes bewaren |
| Aanmelden in twee stappen aan | Hoeveel herstelcodes er nog over zijn, en een vak om het uit te schakelen met een geldige code |
De volgorde is scannen → bewijzen → codes opschrijven, en de factor wordt pas ingeschakeld als de codes zijn bevestigd. Wie halverwege het tabblad sluit, heeft niets aan zijn account veranderd — daarom gebeurt het in drie stappen en niet in één.
Uitschakelen vereist een code
Een bezoeker kan zijn eigen aanmelden in twee stappen uitschakelen — het is zijn account — maar alleen door een geldige code te typen, of een van zijn herstelcodes. Dat is bewust: een tweede factor uitschakelen is precies wat iemand zou doen die een sessie heeft gestolen.
Mensen die zich aanmelden bij de Parsware-shell en het Beheercentrum moeten een tweede factor hebben, en krijgen in plaats daarvan een manier om die naar een nieuwe telefoon over te zetten. Dat is een beslissing over de omgeving waarin de records van al je klanten staan; het is geen beslissing die we namens jouw klanten nemen.
Wat er bij de volgende aanmelding gebeurt
Niets wat je hoeft te tekenen. Het aanmeldformulier van het platform vraagt zelf om de code, naast het adres en het wachtwoord, en accepteert in hetzelfde vak een herstelcode — een herstelcode bestaat niet uit zes cijfers, dus het platform kan zien welke van de twee het krijgt.
Heb je je eigen aanmeldpagina getekend, dan heeft die een codevak
nodig dat verschijnt wanneer signIn zegt dat het account er een wil — die pagina laat zien hoe.
Wat dit niet doet
- Het zet een authenticator niet in één stap over naar een nieuwe telefoon. Een bezoeker van wie de telefoon weg is, schakelt de factor uit met een herstelcode en daarna weer in; dat is één stap extra en er gaat niets verloren.
- Het dwingt niemand. Aanmelden in twee stappen wordt je bezoekers aangeboden, nooit verplicht. Moet je portal het verplicht stellen, dan is dat een gesprek met ons en geen scherm om te tekenen.
- Het doet niets op een portal die iedereen kan openen. Er is geen account waartoe een tweede factor kan behoren, dus de knop meldt dat in plaats van te doen alsof hij werkt.
Probeer het
De voorbeeldoplossing portal-sign-in-and-accounts heeft dit op een
scherm met de naam Sign-in security, met een pagina How this sample works die er stap voor stap
doorheen loopt.