Taikalinkki-autentikointi
Opi ottamaan käyttöön taikalinkit salasanattomalle sisäänkirjautumiselle, vain kutsulla -rekisteröitymiselle ja organisaation jäsenten kutsuille kertakäyttöisten tunnusten avulla.
Mikä on taikalinkki?
Taikalinkki on salasanaton todentamismenetelmä, jossa käyttäjä saa kertakirjautumis-URL-osoitteen sähköpostilla (tai tekstiviestillä). Linkin napsauttaminen kirjauttaa käyttäjän sisään ilman salasanaa.
Tässä on joitakin keskeisiä taikalinkkien turvallisuusominaisuuksia:
- Kertakäyttöinen tunnus: Kun linkkia on napsautettu, tunnus muuttuu epäkelvoksi uudelleenkäytön estämiseksi.
- Linkin vanheneminen: Taikalinkillä tulisi olla lyhyt vanhentumisaika (esim. 10 minuuttia) turvallisuuden parantamiseksi.
- Nopeuden rajoittaminen: Estä väärinkäyttö rajoittamalla, kuinka monta taikalinkkiä voidaan lähettää tiettynä aikana.
- Laitteen/selaimen sitominen (valinnainen): Rajoita linkin käyttöä alkuperäiseen laitteeseen tai IP-osoitteeseen estääksesi sieppauksen.
Taikalinkin koostumus
Taikalinkki koostuu:
- URL-reitistä: Osoittaa sovelluksesi aloitussivuun.
- Kertakäyttöinen tunnus: Yksilöllinen ja kertakäyttöinen tunnus, jota käytetään salasanattomaan todentamiseen.
- Käyttäjän sähköposti: Käytetään tunnuksen aitouden ja käyttäjän henkilöllisyyden varmistamiseen.
- Lisäparametrit: Valinnainen, riippuen sovelluksesi tarpeista.
Esimerkiksi taikalinkki saattaa näyttää tältä:
Taikalinkin luomiseen sinun täytyy luoda kertakäyttöinen tunnus, lähettää se turvallisesti käyttäjälle ja sen jälkeen validoida se, kun käyttäjä napsauttaa linkkiä.
Taikalinkin työnkulku
- Käyttäjä pyytää taikalinkkiä: Käyttäjä syöttää sähköpostinsa sovelluksessasi.
- Kertakäyttöisen tunnuksen luominen: Palvelin luo tunnuksen ja lähettää sen linkkinä sähköpostitse.
- Käyttäjä napsauttaa linkkiä: Käyttäjä napsauttaa linkkiä sähköpostissa.
- Tunnuksen validointi: Palvelin tarkistaa, onko tunnus voimassa.
- Käyttäjä todennetaan: Jos tunnus on voimassa, käyttäjä kirjataan sisään.
Miten toteuttaa taikalinkit Logto:n kanssa?
Vaihe 1: Pyydä kertakäyttöinen tunnus
Käytä Logto:n Manage API luodaksesi kertakäyttöisen tunnuksen.
Esimerkki pyyntörungon hyötykuormasta:
Vaihe 2: Koosta taikalinkkisi
Kun olet saanut kertakäyttöisen tunnuksen, voit koostaa taikalinkin ja lähettää sen loppukäyttäjän sähköpostiosoitteeseen. Taikalinkin tulisi sisältää ainakin tunnus ja käyttäjän sähköposti parametreina, ja sen tulisi navigoida omaan sovellukseesi. Esim. https://yourapp.com/landing-page
.
Tässä on yksinkertainen esimerkki siitä, miltä taikalinkki voisi näyttää:
Huom:
Taikalinkin parametrinimet voidaan mukauttaa täysin. Voit lisätä taikalinkkiin lisätietoja sovelluksesi vaatimusten mukaisesti ja koodata kaikki URL-parametrit.
Vaihe 3: Triggeroi autentikaatiovirtaus Logto SDK:n kautta
Kun loppukäyttäjä napsauttaa taikalinkkiä ja navigoi sovellukseesi, voit poimia token
ja email
parametrit URL-osoitteesta, ja sitten kutsua signIn()
-toimintoa Logto SDK:sta käynnistääksesi autentikointivirtauksen.
Lisätietoja löydät Logto Docs - Magic Link (One-time Token).
Taikalinkin käyttötapaukset
Taikalinkit voivat korvata ensimmäisen tekijän autentikointivaiheen, mutta eivät voi ohittaa Monivaiheisen todentamisen (MFA).
Logtossa, kun luodaan taikalinkki kertakäyttöisellä tunnuksella, sinun ei tarvitse määrittää, onko se kirjautumiselle vai rekisteröitymiselle. Määritämme virtauksen automaattisesti sähköpostin rekisteröintitilan perusteella:
- Rekisteröimätön sähköposti: Taikalinkin napsauttaminen ohjaa käyttäjät tilin luontivirtaan, ohittaen sähköpostin syötön ja varmistuksen. Käyttäjät siirtyvät asettamaan salasanan, lisäämään profiilintietoja (esim. koko nimi) tai ottamaan käyttöön MFA:n, rekisteröintiasetustesi mukaisesti.
- Rekisteröitynyt sähköposti: Taikalinkin napsauttaminen ohittaa ensimmäisen vaiheen varmentamisen (esim. “sähköposti + salasana” tai “sähköposti + varmistuskoodi”). Käyttäjä kirjataan joko sisään suoraan tai pyydetään suorittamaan MFA, kirjautumisasetustesi mukaisesti.
Logto tukee seuraavia skenaarioita taikalinkkien kanssa:
- Vain kutsulla -rekisteröinti: Sisäisiin työkaluihin tai testivaiheen AI-tuotteisiin voit poistaa julkisen rekisteröitymisen käytöstä ja kutsua tiettyjä käyttäjiä taikalinkin kautta.
- Organisaation jäsenen kutsuminen: SaaS-tuotteille käytä taikalinkkejä kutsuessasi uusia jäseniä organisaatioon, mikä tekee jäsenyysprosessista helpompaa.
- Sisäänkirjautuminen / Rekisteröityminen: Lähetä taikalinkki sähköpostilla kirjautumista tai rekisteröitymistä varten.
Tällä hetkellä ei tueta:
- Salasanan palautusta taikalinkin avulla.
- Puhelinnumeron tai käyttäjänimen käyttöä tunnistimena.
Kerro, jos tarvitset lisämukautuksia.
Vain kutsulla -rekisteröinti taikalinkin kanssa
Uusille tuotteille (esim. AI-työkalut) sisäisessä testauksessa tai sisäisiin työkaluihin, saatat haluta poistaa julkisen rekisteröitymisen käytöstä ja sallia vain tiettyjen käyttäjien pääsyn sovellukseesi. Tämän toteuttamiseksi Logton kanssa:
-
Mene Konsoli > Sisäänkirjautumiskokemus > Sisäänkirjautuminen ja rekisteröityminen > Lisäasetukset, ja kytke pois päältä "Ota käyttäjärekisteröinti käyttöön" sulkeaksesi julkisen rekisteröinnin.
-
Kerää niiden käyttäjien sähköpostiosoitteet, jotka haluat kutsua (esim. verkkosivustosi kautta tai olemassa olevien käyttäjien suositusten avulla).
-
Luo ja lähetä taikakutsulinkki yllä kuvatulla tavalla (pyydä kertakäyttöinen tunnus, kokoa taikalinkki, triggeroi autentikointi Logto SDK:n kautta).
Huom: Aseta kutsulinkille vanhentumisaika. On suositeltavaa tehdä linkistä voimassa vähintään yksi päivä. Käytä seuraavaa pyyntörunkoa luodaksesi kertakäyttöisen tunnuksen:
-
Lähetä taikalinkki käyttäjän sähköpostiin (esim.
https://yourapp.com/landing-page?type=registrationInvitation&token=YHwbXSXxQfL02IoxFqr1hGvkB13uTqcd&[email protected]
). Mukauta sähköpostimalli, kuten:Kun käyttäjät napsauttavat "Hyväksy kutsu", he rekisteröityvät automaattisesti palveluusi, vaikka julkinen rekisteröinti on pois käytöstä. Tätä kutsutaan "Kohdistettu käyttäjäkutsu".
Organisaation jäsenen kutsuminen taikalinkin kanssa
Monivuokralaisille tuotteille (esim. SaaS-sovellukset kuten Slack, GitHub, Vercel), tarjoa saumaton jäsenen kutsumisprosessi hallitaaksesi organisaatioratkaisuja. Käytä taikalinkkejä saavuttaaksesi korkeamman tulosprosentin jäsenkutsuissa.
-
Seuraa Logto Docs -ohjeita ottaaksesi käyttöön organisaation luominen, organisaation roolipohjainen käyttöoikeuksien hallinta ja organisaation hallinta: Logto Organisaatiot.
-
Ota käyttöön "Kutsu jäseniä"-työnkulku tuotteessasi. Esimerkki:
-
Seuraa tätä opasta Kutsu Organisaation Jäseniä. Huom: Kun kutsut jäseniä, varmista, että pyyntörunko sisältää:
context: jitOrganizationIds
määrittääksesi, mihin organisaatio(i)hin käyttäjä liittyy.- Aseta pidempi
expiresIn
-aika (esim. 2 päivää tai viikko) antaaksesi käyttäjille tarpeeksi aikaa kutsun hyväksymiseen.
Esimerkki pyyntörungosta:
-
Lähetä kutsulinkki käyttäjän sähköpostiin (esim.
https://yourapp.com/landing-page?type=organizationMemberInvitation&token=YHwbXSXxQfL02IoxFqr1hGvkB13uTqcd&[email protected]
). Mukauta sähköpostimallisi, esimerkiksi:Kun käyttäjät napsauttavat "Hyväksy kutsu", he kirjautuvat automaattisesti sisään tai rekisteröityvät ja liittyvät organisaatioon.
Käsittele tilien ristiriitoja
Mitä tapahtuu, jos käyttäjä on jo kirjautunut sisään ja napsauttaa toista taikalinkkiä?
Käsitelläksesi oikein tilin ristiriidat, varmista seuraavat asiat:
- Vältä
login
lisäämistä "kirjautumiskehotta": Älä aseta kirjautumiskehottaa sisältämäänlogin
. Jos se on asetettu väärin, Logto kirjautuu automaattisesti sisään tilille, joka liittyy taikalinkin tunnukseen, ohittaen tilin vaihdon kehotteen. - Säilytä olemassa olevat tunnukset: Kun kutsut
signIn()
-toimintoa, määritäclearTokens: false
-parametri estääksesi olemassa olevien tunnusten poistamisen. Jos tätä asetusta käytetään, varmista, että puhdistat manuaalisesti tunnukset kirjautumisen takaisinsoittosivulla.
Oikean konfiguraation jälkeen käyttäjäkokemus on seuraava:
- Taikalinkki nykyiselle tilille: Jos käyttäjä on jo kirjautuneena ja napsauttaa taikalinkkiä samalle tilille, Logto tarkistaa kertakäyttöisen tunnuksen ja sijoittaa käyttäjän määritettyihin organisaatioihin tarvittaessa.
- Taikalinkki eri tilille: Jos käyttäjä on kirjautuneena ja napsauttaa taikalinkkiä eri tilille, Logto kehottaa käyttäjää joko:
- Jatka uutena tilinä: Logto vaihtaa uuteen tiliin tunnusten varmentamisen jälkeen.
- Pidä nykyinen tili: Logto ohittaa tunnuksen varmentamisen ja palauttaa käyttäjän nykyiselle tilille.
Käsittele virhesivuja taikalinkin mitätöimiseksi
Kun käyttäjät napsauttavat virheellistä taikalinkkiä, heidät ohjataan virhesivulle, jossa on selkeä selitys ongelmasta. Alla ovat mahdolliset virheskenaariot ja niiden viestit:
Nimi | Kuvaus |
---|---|
token_not_found | Aktiivista tunnusta ei löytynyt annetun sähköpostin ja tunnuksen kanssa. |
email_mismatch | Sähköposti ei vastaa annettua tunnusta. |
token_expired | Tunnus on vanhentunut. |
token_consumed | Tunnus on käytetty. |
token_revoked | Tunnus on peruutettu. |
cannot_reactivate_token | Tunnusta ei voi aktivoida uudelleen. |
Jokainen virhesivu antaa tietyn viestin, joka auttaa käyttäjiä ymmärtämään syyn virheelliseen taikalinkkiin ja opastaa heitä seuraavissa vaiheissa. Esimerkiksi:
Johtopäätös
Logto tarjoo yritystason turvallisuutta joustavien, salasanattomien sisäänkirjautumisvirtausten kautta taikalinkkejä käyttäen. Se on yksinkertainen mutta tehokas tapa luoda sujuva käyttäjäkokemus - olipa kyseessä sitten käyttäjien kutsuminen organisaatioon liittymään, antamalla heidän luoda tilejä vaivattomasti taikka tarjoamalla vaivaton todentaminen. Ja koska Logto käsittelee hankalat tilanteet, kuten tilien ristiriidat ja vanhentuneet tunnukset, käyttäjät saavat aina turvallisen, ilman turhautumista tapahtuvan prosessin.
Oletko valmis modernisoimaan IAM:si luodinkestävällä todentamisella?