Heim >PHP-Framework >Laravel >Laravel implementiert die App-seitige Anmeldung

Laravel implementiert die App-seitige Anmeldung

王林
王林Original
2023-05-26 11:43:071005Durchsuche

Mit der zunehmenden Anzahl von Smartphone-Anwendungen steigt die Nachfrage nach der Entwicklung mobiler Anwendungen von Tag zu Tag. Die Benutzeranmeldung ist zu einer der sehr wichtigen Funktionen in mobilen Anwendungen geworden, da die Benutzeranmeldung nicht nur die Sicherheit der Benutzerinformationen schützen kann, sondern auch Erleichtern Sie Benutzern die Anmeldung an verschiedenen Standorten und den schnellen Zugriff auf ihre Informationen auf ihren Geräten. Laravel ist ein beliebtes PHP-Framework, das viele integrierte Funktionen und Erweiterungspakete bereitstellt, um Entwicklern bei der Implementierung verschiedener Funktionen der Anwendung zu helfen, einschließlich der Anmeldefunktion auf der APP-Seite. In diesem Artikel wird erläutert, wie Sie mit Laravel die APP-Anmeldefunktion implementieren.

1. Installation und Konfiguration von Laravel

Bevor Sie mit der Implementierung der APP-Anmeldefunktion in Laravel beginnen, müssen Sie die Laravel-Umgebung installieren und konfigurieren. Stellen Sie zunächst sicher, dass Sie das Composer-Tool installiert haben (https://getcomposer.org/). Führen Sie als Nächstes den folgenden Befehl aus, um Laravel auf Ihrem Computer zu installieren.

composer create-project --prefer-dist laravel/laravel myapp

wobei „myapp“ der Name der Laravel-Anwendung ist, die Sie erstellen möchten.

Nachdem die Installation abgeschlossen ist, können Sie das myapp-Verzeichnis aufrufen und den folgenden Befehl ausführen, um einen lokalen Entwicklungsserver zu starten.

php artisan serve

Besuchen Sie http://localhost:8000, um die Laravel-Willkommensseite anzuzeigen. Als Nächstes müssen Sie das Passport-Erweiterungspaket installieren und konfigurieren, um die Anmeldefunktion auf der APP-Seite zu unterstützen.

Führen Sie den folgenden Befehl aus, um das Passport-Erweiterungspaket zu installieren:

composer require laravel/passport

Nach Abschluss der Installation führen Sie den folgenden Befehl aus, um die erforderlichen Passport-Schlüssel zu generieren:

php artisan passport:keys

Führen Sie als Nächstes den folgenden Befehl aus, um die Passport-Datenbankmigration zu generieren:

php artisan migrate

II. Implementieren Sie die APP-seitige Anmeldefunktion

  1. Benutzermodell und Controller erstellen

Zuerst müssen Sie ein Benutzermodell erstellen, damit die Anwendung Benutzer verwalten kann. Führen Sie den folgenden Befehl aus, um ein Modell mit dem Namen „Benutzer“ zu erstellen:

php artisan make:model User

Erstellen Sie als Nächstes einen Controller mit dem Namen AuthController und fügen Sie den folgenden Code hinzu:

<?php

namespace AppHttpControllers;

use AppModelsUser;
use IlluminateHttpRequest;
use IlluminateSupportFacadesAuth;
use Validator;

class AuthController extends Controller
{
    public function register(Request $request)
    {
        $validator = Validator::make($request->all(), [
            'name' => 'required',
            'email' => 'required|email|unique:users',
            'password' => 'required',
        ]);

        if ($validator->fails()) {
            return response()->json(['error' => $validator->errors()], 401);
        }

        $user = new User;
        $user->name = $request->name;
        $user->email = $request->email;
        $user->password = bcrypt($request->password);
        $user->save();

        $token = $user->createToken('MyApp')->accessToken;

        return response()->json(['token' => $token], 200);
    }

    public function login(Request $request)
    {
        $validator = Validator::make($request->all(), [
            'email' => 'required|email',
            'password' => 'required',
        ]);

        if ($validator->fails()) {
            return response()->json(['error' => $validator->errors()], 401);
        }

        $credentials = $request->only('email', 'password');

        if (Auth::attempt($credentials)) {
            $user = Auth::user();
            $token = $user->createToken('MyApp')->accessToken;
            return response()->json(['token' => $token], 200);
        } else {
            return response()->json(['error' => 'Unauthorized'], 401);
        }
    }
}

Im obigen Code ermöglicht die Register-Methode dem Benutzer die Registrierung und die Anmeldemethode Der Benutzer muss sich anmelden. Wenn sich der Benutzer erfolgreich registriert oder anmeldet, wird ein Zugriffstoken zurückgegeben und für nachfolgende Benutzeranfragen verwendet.

  1. API-Routen erstellen

Als nächstes müssen Sie entsprechende API-Routen erstellen, um Benutzeranmelde- und Registrierungsanfragen zu verarbeiten. Fügen Sie in der Datei „routes/api.php“ den folgenden Code hinzu:

<?php

use IlluminateHttpRequest;
use IlluminateSupportFacadesRoute;
use AppHttpControllersAuthController;

Route::post('/register', [AuthController::class, 'register']);
Route::post('/login', [AuthController::class, 'login']);

Der obige Code ordnet Registrierungs- und Anmeldeanforderungen den entsprechenden Methoden im AuthController-Controller zu.

3. Testen Sie die Anmeldefunktion

Da nun der gesamte Code bereit ist, können Sie die Anmelde- und Registrierungsfunktionen testen, indem Sie auf die folgende URL zugreifen.

  • POST /api/register

    • Registrieren Sie einen neuen Benutzer. Parameter: Name, E-Mail, Passwort.
  • POST /api/login

    • für die Benutzeranmeldung. Parameter: E-Mail, Passwort.

Wenn sich der Benutzer erfolgreich anmeldet, wird ein Token zurückgegeben. Mit diesem Token können nachfolgende API-Anfragen zur Authentifizierung des Benutzers gestellt werden.

$token = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6ImZlYTcwMDU3NzhlZWUyMTU3MzliNTM3ODQyNTI0NWJiMGM5YjA3ZWIyMWNlMDhhMDM5ODUyYjczMzVjNWE1NjJlN2UwMGU4ZTQ5MjhhNzg1In0.eyJhdWQiOiIxMSIsImp0aSI6ImZlYTcwMDU3NzhlZWUyMTU3MzliNTM3ODQyNTI0NWJiMGM5YjA3ZWIyMWNlMDhhMDM5ODUyYjczMzVjNWE1NjJlN2UwMGU4ZTQ5MjhhNzg1IiwiaWF0IjoxNjMwMzkwNTM3LCJuYmYiOjE2MzAzOTA1MzcsImV4cCI6MTYzMDM5NDAzNywiZGF0YSI6eyJ1c2VyIjp7ImlkIjoiMSJ9fX0.XsIFsVCc3N1oZ70vzWn4wHQSv3Q-JVdlfu4LJkUPL0he_53bpgJrq5jw8mHygB-1-kpq62N7eG_r08fXKkmbiqeITmUiaGKa0prKzXCoexuYKuxYqG8j-HY2UyDp5g_TE6M4eW5FrcDpTJ0WcQ5ShDhdszUFQUH_qR52ypeEUmsF6CFwx1YJt4AmCFEy2CjsKOMl9K9o0mV_ytvBZ9drY6w6HTRfYfU7q5yuM-W3Qp6bbS-ljzY_2M0RWzwZJm6QvO3Byjhw1TNUrPHFs6xGlY4M7zgkDZxas5srQgpFjKof2LztN7QAJaiT_d6XAKpS24JA2-v2U7x3g';
$response = $this->withHeaders([
    'Authorization' => $token,
])->json('GET', '/api/user');

In diesem Beispiel verwenden Sie das Token, um eine GET-Anfrage an /api/user zu senden, die die Informationen des Benutzers zurückgibt. Wenn die Anmeldung nicht erfolgreich ist, gibt die API den Fehlercode 401 zurück. Wenn die Anmeldung erfolgreich ist, werden die Informationen des Benutzers zurückgegeben.

Es ist sehr einfach, das Passport-Erweiterungspaket in Laravel zu verwenden, um die Anmeldefunktion auf der APP-Seite zu implementieren. Sie müssen lediglich das entsprechende Erweiterungspaket installieren und konfigurieren. In diesem Artikel zeigen wir, wie Sie mit Laravel eine vollständige APP-seitige Anmeldefunktion ausführen und so eine schnelle Anmeldung und Sicherheitsschutz für Benutzer erreichen.

Das obige ist der detaillierte Inhalt vonLaravel implementiert die App-seitige Anmeldung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn