• Taikalinkki
  • Salasanaton
  • Todennus
  • Kutsu

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.

Ran
Ran
Product & Design

Lopeta viikkojen tuhlaaminen käyttäjien tunnistautumiseen
Julkaise turvallisia sovelluksia nopeammin Logtolla. Integroi käyttäjien tunnistautuminen minuuteissa ja keskity ydintuotteeseesi.
Aloita
Product screenshot

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

  1. Käyttäjä pyytää taikalinkkiä: Käyttäjä syöttää sähköpostinsa sovelluksessasi.
  2. Kertakäyttöisen tunnuksen luominen: Palvelin luo tunnuksen ja lähettää sen linkkinä sähköpostitse.
  3. Käyttäjä napsauttaa linkkiä: Käyttäjä napsauttaa linkkiä sähköpostissa.
  4. Tunnuksen validointi: Palvelin tarkistaa, onko tunnus voimassa.
  5. 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:

  1. 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.
  2. Organisaation jäsenen kutsuminen: SaaS-tuotteille käytä taikalinkkejä kutsuessasi uusia jäseniä organisaatioon, mikä tekee jäsenyysprosessista helpompaa.
  3. Sisäänkirjautuminen / Rekisteröityminen: Lähetä taikalinkki sähköpostilla kirjautumista tai rekisteröitymistä varten.

Tällä hetkellä ei tueta:

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:

  1. 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.

    logto_disable_public_registration.png

  2. Kerää niiden käyttäjien sähköpostiosoitteet, jotka haluat kutsua (esim. verkkosivustosi kautta tai olemassa olevien käyttäjien suositusten avulla).

  3. 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:

  4. 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:

    email_templates_invitation_only_registration.png

    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.

  1. Seuraa Logto Docs -ohjeita ottaaksesi käyttöön organisaation luominen, organisaation roolipohjainen käyttöoikeuksien hallinta ja organisaation hallinta: Logto Organisaatiot.

  2. Ota käyttöön "Kutsu jäseniä"-työnkulku tuotteessasi. Esimerkki:

    invite_organization_member_in_app.png

  3. 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:

  4. 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:

    email_templates_join_organization.png

    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ään login. 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:

  1. 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.
  2. 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.
    magic_link_account_conflicts.png

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:

NimiKuvaus
token_not_foundAktiivista tunnusta ei löytynyt annetun sähköpostin ja tunnuksen kanssa.
email_mismatchSähköposti ei vastaa annettua tunnusta.
token_expiredTunnus on vanhentunut.
token_consumedTunnus on käytetty.
token_revokedTunnus on peruutettu.
cannot_reactivate_tokenTunnusta 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:

magic_link_error_pages.png

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?