Zalety korzystania z paszportu Laravel:
Protokół OAuth2 można zintegrować z aplikacją Laravel za pomocą hasła LaraVel. Gdy użytkownik chce odzyskać lub wstawić dane z aplikacji, żądanie dostępu zostanie wysłane przez ten protokół. Użytkownik zostanie przekazany przez użytkownika, upoważniając użytkownika do dostępu. Niektóre główne korzyści uwierzytelniania paszportowego są wymienione poniżej.
Wymagania wstępne:
Musisz wykonać następujące zadanie przed zainstalowaniem i użyciem paszportu Laravel do uwierzytelniania użytkownika.
Zainstaluj paszport Laravel:
Uruchom następujące polecenie z terminala, aby zainstalować pakiet paszportowy Laravel za pomocą kompozytora.
$ Composer wymaga laravel/paszport
Będziesz musiał utworzyć użytkownicy Tabela w bazie danych przed zainstalowaniem pakietu paszportowego. Trzy pliki migracyjne i Użytkownik Model został wygenerowany automatycznie, gdy tworzy nowy projekt Laravel. Jeden z nich służy do stworzenia użytkownicy tabela. Przejdź do folderu projektu Laravel i uruchom następujące polecenie migracyjne, aby utworzyć użytkownicy tabela.
Migruj migruj Artisan $Uruchom następujące polecenie, aby zainstalować pakiet paszportowy dla projektu.
$ PHP Artisan paszport: ZainstalujOtrzymasz następujące informacje po pomyślnym zainstalowaniu paszportu Laravel w swoim projekcie. Tutaj generowane są dwa tajne klucze. Jeden dla klient osobisty i inny dla Klient dotacji hasła.
Konfiguracja paszportu Laravel:
Otworzyć Użytkownik Model, który znajduje się w lokalizacji, Model App \.php od edytora i zmodyfikuj model jak poniżej. Dodać Laravel \ paszport \ hasapitokens Na początku klasy i użyj Hasapitokens i możliwy do powiadamiania w klasie.
Aplikacja przestrzeni nazw;Następnie otwórz App/dostawcy/authServiceProvider.php Aby zarejestrować trasy niezbędne do wydawania i odwołania tokenów dostępu. Metoda paszportu :: trasy wywoływane jest w metodzie rozruchu AuthserviceProvider. Zmodyfikuj zawartość pliku pokazanego poniżej.
APPSPAGE APP \ dostawcy;Następnie otwórz config \ App.php i wstaw następującą linię w dostawcy tablica obejmująca niezbędną klasę do korzystania z paszportu Laravel.
Laravel \ paszport \ paszportServiceProvider :: klasa,Następnie otwórz config \ auth.php i ustaw sterownik API na paszport w gwardia tablica pokazana poniżej.
„Strażnicy” => [Wdrożenie kontrolera rejestracji i uwierzytelnienia:
Musisz utworzyć kontroler do wdrożenia systemu uwierzytelniania za pomocą pakietu paszportowego. Uruchom następujące polecenie z folderu głównego projektu, aby utworzyć Apicontroller.
$ PHP Artisan Make: kontroler apicontollerW następnej części tego samouczka dodano trzy metody w środku Apicontroller Aby utworzyć nowego użytkownika, uwierzytelnij użytkownika i uzyskać szczegółowe informacje uwierzytelnionego użytkownika.
A. Rejestr
Nowego użytkownika może zostać utworzony w użytkownicy Tabela poprzez wdrożenie rejestr() metoda. Dodaj następujący kod w środku Apicontroller Aby zaimplementować API rejestru. Niezbędne wartości pola tworzenia nowego użytkownika są pobierane przez argument, $ żądanie metody rejestr(). Waliator Klasa służy do sprawdzania wartości pola są prawidłowe lub nie na podstawie zdefiniowanych reguł walidacji. Jeśli upadek () Metoda zwraca true Wówczas zwróci komunikat o błędzie w formacie JSON. Jeśli upadek () Metoda zwraca false, wówczas hasło do skrótu wygeneruje, a nowe informacje o użytkowniku zostaną włożone do tabeli użytkowników. Token zostanie wygenerowany po utworzeniu nowego użytkownika, a komunikat sukcesu z wartością tokena zostanie zwrócony.
Rejestr funkcji publicznych (żądanie $ żądanie)B. Zaloguj sie:
Każdy użytkownik może zostać uwierzytelniony poprzez wdrożenie Login () metoda. Dodaj następujący kod w środku Apicontroller Aby zaimplementować interfejs API logowania. Wymagane pola do uwierzytelnienia użytkownika są pobierane z $ żądanie z Login () metoda. próba() Metoda sprawdzi wartości e-mail I hasło do uwierzytelnienia. Jeśli wartości pasują do wartości użytkownicy Tabela, wówczas rekord tego konkretnego użytkownika zostanie odzyskany, a wartość tokena zostanie zwrócona. Jeśli uwierzytelnianie się nie powiedzie, to Nieautoryzowany wiadomość zostanie zwrócona.
Logowanie do funkcji publicznych (żądanie $ żądanie)C. Szczegóły użytkownika
Możesz uzyskać szczegółowe informacje każdego użytkownika po uwierzytelnianiu, wdrażając interfejs API użytkownika. Dodaj następujący kod do Apicontroller Aby pobrać szczegółowe informacje każdego uwierzytelnionego użytkownika.
funkcja publiczna user_info ()Trasa API dla kontrolera:
Otworzyć trasy \ App.php Złóż i zmodyfikuj zawartość za pomocą następujących kodów, aby zdefiniować trasę logowania, zarejestruj trasę i szczegółowo opisuje trasę usług API.
/** Trasa dla API logowania*/Uruchom następujące polecenie, aby uruchomić serwer Laravel Development.
$ PHP Artisan ServeUwierzytelnianie API testu za pomocą listonosza:
Postman jest bardzo przydatnym narzędziem do testowania RESTful API. Żądanie HTTP można bardzo łatwo wygenerować do testowania funkcji API za pomocą interfejsu użytkownika tej aplikacji bez zapisywania dużej ilości kodu do wysyłania żądań. Postman może obsługiwać różne żądania HTTP i narzędzia do opracowania interfejsów API. Ma zarówno płatne, jak i bezpłatne wersje dla Linux.
Zainstaluj agent listonosze:
Uruchom następujące polecenie z terminala, aby zainstalować agenta listonowego na Ubuntu.
$ sudo snappon instaluj listonoszOtwórz aplikację po instalacji. Po otwarciu nowego okna listonosza pojawi się następujący interfejs.
API rejestru testowego:
Kliknij na Utwórz żądanie link do otwarcia okna żądania. Laravel Development Server działa w porcie 8000 Domyślnie, który jest tutaj używany. Jeśli używasz innego portu, musisz zmodyfikować numer portu w adresie URL. Metoda post jest wybierana z rozwijanego i następujące adres URL do wysyłania żądania API dla API rejestru.
http: // localhost: 8000/API/rejestr
Trzy pola są zdefiniowane jako pola obowiązkowe dla użytkownicy Tabela, aby utworzyć nowego użytkownika. To są nazwa, e-mail, I hasło. Ustaw trzy klucze i wartości dla tych pól pokazanych poniżej i kliknij wysłać przycisk. rejestr() metoda Apicontroller zostanie wywołane zgodnie z trasą, jeśli żądanie zostanie wysłane prawidłowo.
Poniższa odpowiedź pojawi się, jeśli nowy rekord użytkownika zostanie pomyślnie włożony do użytkownicy tabela. Kod odpowiedzi, 200 wskazuje, że żądanie HTTP zakończyło się powodzeniem, a token jest generowany po włożeniu nowego użytkownika, który jest pokazany w ciele odpowiedzi w formacie JSON.
API logowania do testu:
Wybierz POST metoda jak Zarejestruj API To pokazano wcześniej. Ustaw następujący adres URL na pasku adresu, aby wysłać żądanie interfejsu API dla API logowania.
http: // localhost: 8000/API/login
Dwa pola są obowiązkowe do uwierzytelnienia dowolnego użytkownika na podstawie rekordów użytkownicy tabela. To są e-mail I hasło. Ustaw dwa klucze i wartości dla tych pól pokazanych poniżej i kliknij wysłać przycisk. Zaloguj sie() metoda Apicontroller zostanie wywołane zgodnie z trasą, jeśli żądanie zostanie wysłane prawidłowo.
Poniższa odpowiedź pojawi się, jeśli użytkownik zostanie pomyślnie uwierzytelniony na podstawie rekordów użytkownicy tabela. Kod odpowiedzi, 200 wskazuje, że żądanie HTTP zakończyło się powodzeniem. Wartość tokena jest generowana po uwierzytelnianiu użytkownika i zwraca organ odpowiedzi w formacie JSON.
Otrzymasz następujące ciało odpowiedzi, gdy zostaną zapewnione niewłaściwe poświadczenia do uwierzytelniania użytkownika. 401 Kod błędu jest wygenerowany tutaj, aby wskazać nieautoryzowany dostęp.
Testowanie szczegółów użytkownika API:
Do skonfigurowania są wymagane niektóre parametry nagłówka przed wysłaniem żądania API szczegółów. Kliknij na nagłówki Zakładka sekcji żądania i dodaj trzy wartości nagłówka, aby zidentyfikować uwierzytelnionego użytkownika. Wartość tokena jest kopiowana z ciała odpowiedzi i ustawiona dla wartości autoryzacji.
Zaakceptuj: aplikacja/JSONSekcja nagłówków części żądania będzie wyglądać jak następujący obraz. Musisz ustawić swoją wartość tokena generowaną w organu reakcji agenta listonowego.
Następnie kliknij Upoważnienie zakładka sekcji żądania i wybierz Nosiciel jako typ autoryzacji z Typ upuścić.
Teraz wybierz POST Metoda, ustaw następujący adres URL na pasku adresu. To zadzwoni Informacje użytkownika() metoda Apicontroller które odzyskają szczegółowe informacje uwierzytelnionego użytkownika.
http: // localhost: 8000/API/detaleJeśli wartość tokena i informacje nagłówka zostaną poprawnie dostarczane, szczegóły tego użytkownika zostaną zwrócone jako ciało odpowiedzi w formacie JSON, jak następujący obraz.
Film instruktażowy
Wniosek:
Uwierzytelnianie paszportowe używa się teraz na wielu stronach Laravel, aby uzyskać przydatne funkcje. Sprawia, że system uwierzytelniania LaraVel jest bardziej bezpieczny niż uwierzytelnianie domyślne i zapewnia inne usługi, które nie są dostępne w domyślnym uwierzytelnianiu. Podstawowe zastosowania paszportu Laravel z procesem instalacji i konfiguracji są poprawnie opisane w tym samouczku. Pokazane jest również użycie agenta listonowego, aby przetestować interfejs API. Mam nadzieję, że czytelnik zrozumie funkcjonalność pakietu paszportowego po przeczytaniu tego samouczka.