Magic link-authenticatie
Leer hoe je magic links implementeert voor wachtwoordloze aanmeldingen, registratie alleen op uitnodiging en uitnodigingen voor organisatieleden met behulp van eenmalige tokens.
Leer hoe je magic links implementeert voor wachtwoordloze aanmeldingen, registratie alleen op uitnodiging en uitnodigingen voor organisatieleden met behulp van eenmalige tokens.
Een magic link is een wachtwoordloze authenticatiemethode waarbij een gebruiker een eenmalige inlog-URL ontvangt via e-mail (of SMS). Door op de link te klikken logt de gebruiker in zonder een wachtwoord nodig te hebben.
Hier zijn enkele belangrijke beveiligingskenmerken van magic links:
Een magic link bestaat uit:
Een magic link kan er bijvoorbeeld zo uitzien:
Om een magic link te maken, moet je een eenmalig token genereren, deze veilig naar de gebruiker verzenden en vervolgens valideren wanneer de gebruiker op de link klikt.
Gebruik Logto Management API om een eenmalig token te maken.
Voorbeeld van de payload van het aanvraaglichaam:
Nadat je het eenmalige token hebt verkregen, kun je een magic link samenstellen en naar het e-mailadres van de eindgebruiker sturen. De magic link moet ten minste het token en het e-mailadres van de gebruiker als parameters bevatten en moet naar een bestemmingspagina in je eigen applicatie navigeren, bijvoorbeeld https://yourapp.com/landing-page.
Hier is een eenvoudig voorbeeld van hoe de magic link eruit zou kunnen zien:
Opmerking:
De parameternamen in de magic link kunnen volledig worden aangepast. Je kunt extra informatie aan de magic link toevoegen op basis van de vereisten van je applicatie en alle URL-parameters coderen.
Nadat de eindgebruiker de magic link heeft aangeklikt en naar je applicatie is genavigeerd, kun je de token en email parameters uit de URL extraheren en vervolgens de signIn() functie van Logto SDK aanroepen om de auth-stroom te starten.
Voor meer details, bekijk de Logto Docs - Magic Link (Eenmalig Token).
Magic links kunnen de eerste factor authenticatiestap vervangen, maar kunnen Multi-Factor Authentication (MFA) niet omzeilen.
In Logto, wanneer je een magic link genereert met een eenmalig token, hoef je niet te specificeren of het voor aanmelding of inschrijving is. Wij bepalen de stroom automatisch op basis van de registratie status van de e-mail:
Logto ondersteunt de volgende scenario's met magic links:
Niet ondersteund op dit moment:
Laat ons weten of je verdere aanpassingen nodig hebt.
Voor nieuwe producten (bijv. AI-tools) in interne testing of voor interne tools, wil je mogelijk openbare registratie uitschakelen en alleen specifieke gebruikers toestaan toegang te krijgen tot je app. Om dit te implementeren met Logto:
Ga naar Console > Inlogervaring > Inloggen en inschrijven > Geavanceerde opties, en schakel "Gebruikersregistratie inschakelen" uit om openbare registratie te sluiten.

Verzamel de e-mailadressen van de gebruikers die je wilt uitnodigen (bijvoorbeeld via je website of aanbevelingen van bestaande gebruikers).
Maak en verstuur de magic uitnodigingslink zoals hierboven beschreven (vraag het eenmalige token aan, stel de magic link samen, start authenticatie via Logto SDK).
Opmerking: Stel een vervaltijd in voor de uitnodigingslink. Het is aanbevolen om de link voor minstens één dag geldig te maken. Gebruik de volgende request body om het eenmalige token te genereren:
Verstuur de magic link naar het e-mailadres van de gebruiker (bijv. https://yourapp.com/landing-page?type=registrationInvitation&token=YHwbXSXxQfL02IoxFqr1hGvkB13uTqcd&[email protected]). Pas de e-mailsjabloon aan, zoals:

Wanneer gebruikers klikken op "Accepteer de uitnodiging", registreren ze automatisch voor jouw dienst, zelfs met openbare registratie uitgeschakeld. Dit wordt "Gerichte gebruikersuitnodiging" genoemd.
Voor multi-tenant producten (bijv. SaaS-apps zoals Slack, GitHub, Vercel), biedt een naadloos ledenuitnodigingsproces om organisatieleden te beheren. Gebruik magic links voor hogere conversieratio's bij ledenuitnodigingen.
Volg de Logto Docs om organisatiecreatie, organisatie op rollen gebaseerde toegangscontrole en organisatiebeheer te implementeren: Logto Organisaties.
Stel de "Leden uitnodigen" workflow in jouw product in. Voorbeeld:

Volg deze handleiding om Organisatieleden uit te nodigen. Opmerking: Wanneer je leden uitnodigt, zorg ervoor dat de aanvraag payload het volgende bevat:
context: jitOrganizationIds om te specificeren welke organisatie(s) de gebruiker zal joinen.expiresIn tijd in (bijv. 2 dagen of 1 week) om gebruikers voldoende tijd te geven om de uitnodiging te accepteren.Voorbeeld van aanvraagpayload:
Verstuur de uitnodigingslink naar het e-mailadres van de gebruiker (bijv. https://yourapp.com/landing-page?type=organizationMemberInvitation&token=YHwbXSXxQfL02IoxFqr1hGvkB13uTqcd&[email protected]). Pas jouw e-mailsjabloon aan, bijvoorbeeld:

Wanneer gebruikers op "Accepteer de uitnodiging" klikken, zullen ze automatisch inloggen of zich inschrijven en automatisch bij de organisatie voegen.
Wat gebeurt er als een gebruiker al is ingelogd en op een andere magic link klikt?
Om accountconflicten correct te beheren, zorg ervoor dat het volgende is ingesteld:
login in de "aanmeldprompt": Stel de aanmeldprompt niet in inclusief login. Als dit onjuist is ingesteld, logt Logto automatisch in met het account dat is gekoppeld aan het magic link token, waarmee de accountwissel-prompt wordt omzeild.signIn() functie wordt aangeroepen, specificeer de clearTokens: false parameter om te voorkomen dat bestaande tokens worden gewist. Als deze optie wordt gebruikt, zorg ervoor dat je handmatig tokens wist op de aanmeldcallbackpagina.Na de juiste configuratie zal de gebruikerservaring als volgt zijn:

Wanneer gebruikers op een ongeldige magic link klikken, worden ze doorgestuurd naar een foutpagina met een duidelijk uitleg van het probleem. Hieronder staan de mogelijke foutscenario's en hun berichten:
| Naam | Beschrijving |
|---|---|
| token_not_found | Actief token niet gevonden met opgegeven e-mail en token. |
| email_mismatch | E-mail komt niet overeen met het opgegeven token. |
| token_expired | Het token is verlopen. |
| token_consumed | Het token is verbruikt. |
| token_revoked | Het token is ingetrokken. |
| cannot_reactivate_token | Token kan niet worden geheractiveerd. |
Elke foutpagina geeft een specifiek bericht, dat gebruikers helpt de reden achter de ongeldige magic link te begrijpen en hen begeleidt bij de volgende stappen. Bijvoorbeeld:

Logto levert enterprise-grade beveiliging via flexibele, wachtwoordloze inlogstromen met magic links. Het is een eenvoudige maar krachtige manier om soepele gebruikerservaringen te creëren—of je gebruikers nu uitnodigt om lid te worden van een organisatie, ze moeiteloos accounts laat aanmaken, of probleemloze authenticatie biedt. En omdat Logto lastige situaties behandelt zoals accountconflicten en verlopen tokens, krijgen jouw gebruikers elke keer een veilig en frustratie-vrij proces.
Klaar om je IAM te moderniseren met kogelvrije authenticatie?