I denne artikkelen lærer du hvordan du konfigurerer passordløs godkjenning ved hjelp av Auth0-tjenesten. Auth0 lar deg outsource godkjenningsfunksjoner for appen din.
Auth0 er et verktøy for autentisering-som-en-tjeneste som gjør implementering av autentiseringsrelaterte funksjoner for din app eller nettsted til en bris. Hvis du har bygget en app og du bare vil outsource autentiserings- og autorisasjonsfunksjonene, er en tjeneste som Auth0 noe du bør vurdere.
La meg raskt oppsummere hva Auth0 har å tilby:
I denne delen går vi gjennom det første oppsettet som forberedelse for å sette opp passordløs godkjenning.
Før du går videre, må du sørge for å installere Composer som det vil bli brukt til å installere faktiske Auth0 SDKer ved hjelp av composer.json fil. Også, hvis du vil følge med eksemplene i denne artikkelen, gå videre og få deg en gratis konto med Auth0.
La oss begynne med å ta tak i en klone av prøveprosjektet.
git klon https://github.com/auth0-samples/auth0-php-web-app.git .
Fortsett å løpe komponent installasjon
kommandoen for å installere avhengighetene.
cd 00-Starter-Seed-komponentinstallasjon
Ifølge composer.json fil, du burde ha installert vlucas / phpdotenv og auth0 / auth0-php pakker.
"navn": "auth0 / basic-webapp-prøve", "beskrivelse": "Grunnprøve for å sikre en WebApp med Auth0", "krever": "vlucas / phpdotenv": "2.4.0", "auth0 / auth0-php ":" ~ 5.0 "," lisens ":" MIT "," forfattere ": [" navn ":" Martin Gontovnikas "," email ":" [email protected] ", ":" Germán Lena "," e-post ":" [email protected] "]
De vlucas / phpdotenv biblioteket brukes til å initialisere miljøvariabler fra .env fil. Dermed kan du skille konfigurasjon fra koden som endres mellom miljøer.
På den annen side, auth0 / auth0-php pakken er den som vil hjelpe oss med å sette opp autorisasjon i vår app.
Deretter la vi konfigurere konfigurasjonen for vår app i .env fil. Gå videre og opprett .env fil ved å kopiere den fra .env.example fil.
cp .env.example .env
Den inneholder konfigurasjonsverdier som vil bli brukt av Auth0-biblioteket.
AUTH0_CLIENT_ID = CLIENT_ID AUTH0_DOMAIN = DOMAIN_NAME AUTH0_CLIENT_SECRET = CLIENT_SECRET AUTH0_CALLBACK_URL = CALLBACK_URL AUTH0_AUDIENCE =
Du bør kunne finne de fleste innstillingene under Programmer> Standard App> Innstillinger på Auth0 dashbordet. Vær oppmerksom på at jeg bruker standardprogrammet som er opprettet av systemet. Selvfølgelig kan du gå videre og opprette en ny applikasjon hvis du vil gjøre det.
De AUTH0_CALLBACK_URL
er nettadressen til appen din der Auth0 vil omdirigere brukere etter innlogging og logg ut. Verdien du angir i dette feltet må konfigureres under Tillat tilbakekallingsadresser i programinnstillingene på Auth0-dashbordet.
For å aktivere passordløs innlogging med e-post, gå til Tilkoblinger> Passordløs på Auth0 dashbordet og aktivere e-post alternativ.
I de fleste tilfeller er standard konfigurasjonsinnstillinger under e-post bare trene ut av esken. Selvfølgelig, hvis du vil endre noen innstillinger, fortsett og gjør det. Ikke glem å aktivere appene som du vil ha passordløs godkjenning på Tilkoblinger> Passordløs> Email> Programmer.
Med det første oppsettet på plass, kan vi gå videre og opprette en fil som implementerer passordløs logg inn ved hjelp av e-post.
Gå videre og opprett email_auth_example.php fil med følgende innhold.
$ domain_id' => $ client_id, 'client_secret' => $ client_secret, 'redirect_uri' => $ redirect_uri, 'audience' => $ målgruppe, 'scope' => 'openid profil', 'persist_id_token' => sant, 'persist_access_token' => sant, 'persist_refresh_token' => true,]); $ userInfo = $ auth0-> getUser (); ?>Passordløs innlogging ved hjelp av e-postVelkommen
Logg ut
I begynnelsen har vi tatt med automatiske lastere som er ansvarlige for å laste Auth0- og miljøvariabelignende klasser.
Etter det initierer vi konfigurasjonsvariabler fra .env fil ved hjelp av getenv
funksjon.
Deretter har vi kalt getUser
Metode på Auth0-objektet for å sjekke om en aktiv økt er tilstede. Basert på det viser vi Logg inn
lenke hvis det ikke er aktiv økt. Ellers brukernavnet til den innloggede brukeren med Logg ut
lenken vises.
Gå videre og kjøre email_auth_example.php fil for å teste appen din!
For å aktivere passordløs innlogging ved hjelp av SMS, gå til Tilkoblinger> Passordløs på Auth0 dashbordet og aktivere tekstmelding alternativ. Som standard bruker Auth0 Twilio-tjenesten til å sende meldinger. Så gå videre og få deg en Twilio-konto.
Fra Twilio dashbordet, få din KONTO SID og AUTH TOKEN og skriv inn disse verdiene i Twilio SID og Twilio AuthToken felt på Tilkoblinger> Passordløs> SMS> Innstillinger på Auth0 dashbordet.
Du må også opprette en ny meldingstjeneste på SMS> Meldingsservice på Twilio dashbordet ditt. Etter vellykket opprettelse av tjenesten, får du Tjeneste ID, og det er det du må skrive inn i Copilot SID feltet på Tilkoblinger> Passordløs> SMS> Innstillinger.
Til slutt, la oss ta en titt på hvordan passordløs innlogging ved hjelp av SMS fungerer. Opprett sms_auth_example.php fil. Innholdet er det samme som email_auth_example.php, bortsett fra Logg Inn()
funksjon, som er som følger.
funksjon logg inn () var lock = nytt Auth0LockPasswordless ('','', allowedConnections: [' sms '], // Skal matche SMS-tilkoblingsnavnet auth: redirectUrl:'', responsType:' kode '); lock.show (); ;
Alt er ganske mye det samme, bortsett fra at vi har gitt tekstmelding
i stedet for e-post
i allowedConnections
eiendom.
Gå videre og kjøre sms_auth_example.php fil for å teste appen din!
I dag så vi på passordløs innlogging med Auth0-tjenesten. Blant de mulige tilgjengelige metodene, implementerte vi e-post og SMS-metoder med kodeeksempler.
Ta gjerne tanker eller spørsmål ved å bruke feedet under!