Fordeler ved å bruke Laravel Passport:
OAUTH2 -protokoll kan integreres med Laravel -applikasjonen ved å bruke Laravel -passordet. Når brukeren ønsker å hente eller sette inn data fra applikasjonen, vil tilgangsforespørselen bli sendt av denne protokollen. Tillatelsen vil bli gitt til brukeren ved å autorisere brukeren for tilgang. Noen store fordeler med passautentisering er nevnt nedenfor.
Forutsetninger:
Du må gjøre følgende oppgave før du installerer og bruker Laravel Passport for brukergodkjenning.
Installer Laravel Passport:
Kjør følgende kommando fra terminalen for å installere Laravel Passport -pakken ved hjelp av komponisten.
$ komponist krever laravel/pass
Du trenger å opprette Brukere Tabell i databasen før du installerer passpakken. Tre migrasjonsfiler og a Bruker Modellen har blitt generert automatisk når et nytt Laravel -prosjekt oppretter. En av dem brukes til å lage en Brukere bord. Gå til Laravel Project -mappen og kjør følgende migrate -kommando for å opprette Brukere bord.
$ php håndverker migrererKjør følgende kommando for å installere passpakken for prosjektet.
$ PHP Artisan Passport: InstallerDu får følgende informasjon etter å ha installert Laravel Passport med hell i prosjektet ditt. Her genereres to hemmelige nøkler. En for Personlig tilgangsklient Og en annen for Passordstipendklient.
Laravel Passport -konfigurasjon:
Åpne Bruker modell som ligger på stedet, App \ modell.PHP fra en redaktør, og endre modellen som nedenfor. Legg til Laravel \ pass \ hasapitokens I begynnelsen av klassen og bruk hasapitokens og varsles i klassen.
namespace -app;Neste, åpne App/leverandører/AuthServiceProvider.PHP For å registrere rutene som er nødvendige for å utstede og tilbakekalle tilgangstokener. Pass :: Ruter -metoden kalles innenfor oppstartsmetoden til AuthServiceProvider. Endre innholdet i filen vist nedenfor.
namespace app \ leverandører;Neste, åpne Config \ App.PHP og sett inn følgende linje i leverandører Array for å inkludere nødvendig klasse for bruk av Laravel Passport.
Laravel \ Passport \ PassportServiceProvider :: Klasse,Neste, åpne Config \ Auth.PHP og angi driveren av API til pass i Vakter Array vist nedenfor.
'Vakter' => [Implementere kontroller for registrering og autentisering:
Du må opprette en kontroller for implementering av autentiseringssystemet ved hjelp av passpakken. Kjør følgende kommando fra prosjektrot -mappen for å opprette Apicontroller.
$ PHP Artisan Make: Controller ApicontrollerI neste del av denne opplæringen blir tre metoder lagt til i Apicontroller For å opprette en ny bruker, autentisere en bruker og få detaljert informasjon fra en autentisert bruker.
EN. Registrere
En ny bruker kan opprettes til Brukere tabell ved å implementere en registrere() metode. Legg til følgende kode i Apicontroller For å implementere Register API. De nødvendige feltverdiene for å opprette ny bruker blir hentet av argumentet, $ forespørsel av metoden registrere(). Validator Klasse brukes til å sjekke feltverdiene er gyldige eller ikke basert på de definerte valideringsreglene. Hvis mislykkes () Metoden returnerer sann, da vil den returnere en feilmelding i JSON -format. Hvis mislykkes () Metode returnerer falsk, da vil et hasj passord generere og ny brukerinformasjon blir satt inn i brukertabellen. Et token vil bli generert etter å ha opprettet den nye brukeren og en suksessmelding med tokenverdi vil bli returnert.
offentlig funksjonsregister (forespørsel $ forespørsel)B. Logg Inn:
Enhver bruker kan autentiseres ved å implementere Innloggingen () metode. Legg til følgende kode inne Apicontroller å implementere et påloggings -API. De nødvendige feltene for å autentisere en bruker hentes fra $ forespørsel av Innloggingen () metode. forsøk() metoden vil sjekke verdiene til e -post og passord for autentiseringen. Hvis verdiene samsvarer med verdiene til Brukere Tabell så blir posten til den aktuelle brukeren hentet og en tokenverdi blir returnert. Hvis autentiseringen mislykkes, så en Uautorisert Meldingen vil bli returnert.
Offentlig funksjon pålogging (forespørsel $ forespørsel)C. Brukerdetaljer
Du kan få detaljert informasjon fra enhver bruker etter autentisering ved å implementere bruker API. Legg til følgende kode i Apicontroller For å hente detaljert informasjon fra enhver autentisert bruker.
offentlig funksjon user_info ()API -rute for kontrolleren:
Åpne ruter \ app.PHP Fil og endre innholdet med følgende koder for å definere påloggingsruten, registerveien og detaljeringsveien for API -tjenester.
/** rute for innlogging API*/Kjør følgende kommando for å starte Laravel Development Server.
$ PHP Artisan serverTest API -godkjenning ved bruk av Postman:
Postman er et veldig nyttig verktøy for å teste avslappende APIer. HTTP -forespørselen kan genereres veldig enkelt for å teste API -funksjonaliteter ved å bruke brukergrensesnittet til denne applikasjonen uten å skrive en stor mengde kode for å sende forespørsler. Postman kan håndtere forskjellige HTTP -forespørsler og verktøy for å utvikle APIer. Den har både betalte og gratis versjoner for Linux.
Installer Postman Agent:
Kjør følgende kommando fra terminalen for å installere en postmannsagent på Ubuntu.
$ sudo snap install postbudÅpne applikasjonen etter installasjonen. Følgende grensesnitt vises etter å ha åpnet det nye vinduet til postbudet.
Testregister API:
Klikk på Opprett en forespørsel lenke for å åpne forespørselsvinduet. Laravel Development Server kjører i Port 8000 som standard som brukes her. Hvis du bruker en annen port, må du endre portnummeret i nettadressen din. POST-metoden er valgt fra rullegardinmenyen, og følgende URL brukes til å sende en API-forespørsel for Register API.
http: // localhost: 8000/api/register
Tre felt er definert som obligatoriske felt for Brukere Tabell for å opprette en ny bruker. Disse er Navn, e -post, og passord. Angi tre nøkler og verdier for disse feltene vist nedenfor og klikk på sende knapp. De registrere() Metode av Apicontroller vil bli innkalt i henhold til ruten hvis forespørselen sendes riktig.
Følgende svar vises hvis den nye brukerposten er satt inn i Brukere bord. Svarskoden, 200 indikerer at HTTP -forespørselen var vellykket og at et token genereres etter å ha satt inn den nye brukeren som vises i responsorganet i JSON -format.
Test påloggings -API:
Velg POST metode som Register API som vises før. Angi følgende URL i adresselinjen for å sende en API -forespørsel for påloggings -API.
http: // localhost: 8000/api/login
To felt er obligatoriske for å autentisere enhver bruker basert på postene til Brukere bord. Disse er e -post og passord. Angi to nøkler og verdier for disse feltene vist nedenfor og klikk på sende knapp. De Logg Inn() Metode av Apicontroller vil bli innkalt i henhold til ruten hvis forespørselen sendes riktig.
Følgende svar vises hvis brukeren er autentisert med hell basert på postene til Brukere bord. Svarskoden, 200 indikerer at HTTP -forespørselen var vellykket. Tokenverdien genereres etter å ha godkjent brukeren og returnerer responsorganet i JSON -format.
Du vil få følgende svarorgan når feil legitimasjon er gitt for å autentisere brukeren. 401 Feilkode genereres her for å indikere uautorisert tilgang.
Test brukerdetaljer API:
Noen overskriftsparametere er pålagt å sette opp før du sender forespørselen om detaljer API. Klikk på overskrifter Fanen i forespørselsdelen og legg til tre overskriftsverdier for å identifisere den autentiserte brukeren. Tokenverdien kopieres fra responskroppen og settes for autorisasjonsverdien.
Godta: søknad/jsonOverskriftsdelen av forespørselsdelen vil bli sett ut som følgende bilde. Du må angi tokenverdien din som genereres i responsen for postbudsagenten din.
Deretter klikker du på Autorisasjon Fanen i forespørselsdelen og velg Bærer token som autorisasjonstype fra Type fall ned.
Velg nå POST metode, angi følgende URL i adresselinjen. Det vil kalle brukerinformasjon() Metode av Apicontroller som vil hente den detaljerte informasjonen til den autentiserte brukeren.
http: // localhost: 8000/api/detaljerHvis informasjonsverdien og overskriftsinformasjonen blir gitt riktig, vil detaljene til den brukeren bli returnert som et svarorgan i JSON -format som følgende bilde.
Videoopplæring
Konklusjon:
Pass -godkjenning bruker på mange Laravel -nettsteder nå for nyttige funksjoner. Det gjør Laravel -autentiseringssystemet sikrere enn standardgodkjenning og leverer andre tjenester som ikke er tilgjengelige i standardgodkjenning. Grunnbruken av Laravel Passport med installasjons- og konfigurasjonsprosessen er beskrevet i denne opplæringen riktig. Bruken av postmannsagenten vises også her for å teste API. Jeg håper leseren vil forstå funksjonalitetene i passpakken etter å ha lest denne opplæringen.