Comment Laravel utilise ApiToken pour authentifier les requêtes
La colonne tutorielle suivante de Laravel Getting Started vous présentera comment utiliser la demande d'authentification ApiToken dans Laravel. J'espère qu'elle sera utile aux amis qui en ont besoin !
1. Ouvrez le fichier de migration database/migrations/2014_10_12_000000_create_users_table.php, nous devons changer la structure de la table utilisateur
2. ajoutez le champ api_token, c'est-à-dire que notre jeton est enregistré dans la base de données. À l'emplacement approprié, ajoutez une ligne
$table->string('api_token', 60)->unique();
3. Configurez la base de données et générez la table utilisateur
via le. Commande php artisan migrate 4. Dans la table utilisateur, ajoutez un enregistrement à volonté, tant que le champ api_token est défini sur 123456. De cette façon, nous générons un utilisateur et nous pouvons utiliser la valeur du jeton 123456 pour nous connecter plus tard.
5. Retournez au fichier de routage routes.php, ajoutez-y une route de test et protégez-la avec le middleware laravel
Route::group(['middleware' => ['auth.api']], function () { Route::get('/t', function () { return 'ok'; }); });
Ici, le middleware auth.api est utilisé, et le middleware définition Entrez l'image ci-dessous :
Créez WebToken.php dans le fichier Middleware, puis enregistrez le middleware dans le fichier Kernel.php
'auth.api' => \App\Http\Middleware\webToken::class,
6. Ouvrez le code middleware webToken que vous venez de créer est le suivant
<?php namespace App\Http\Middleware; use Closure; use Illuminate\Support\Facades\Auth; class webToken { /** * Handle an incoming request. * * @param \Illuminate\Http\Request $request * @param \Closure $next * @return mixed */ public function handle($request, Closure $next) { if (Auth::guard('api')->guest()) { return response()->json(['code' => 401,'msg' => '未设置token']); } return $next($request); } }
L'API de Auth::guard('api') dans le code est le fichier auth.php dans le dossier de configuration
7. Après avoir effectué les modifications ci-dessus, lorsque nous faisons une requête directe au serveur avec le chemin URL /t, le serveur renverra une erreur 401 et un 'jeton non défini' Un tel message est ce que nous avons défini auparavant dans la méthode handle(). En d'autres termes, /t a été protégé par notre middleware d'authentification. Si nous voulons que notre requête passe normalement par ce middleware, nous devons fournir le jeton non défini. token .
8. Puisque nous avons précédemment ajouté une donnée avec api_token 123456 dans la table user, maintenant nous demandons à nouveau /t au serveur, mais cette fois nous ajoutons api_token, c'est-à-dire
…/t?api_token=123456
Dans des circonstances normales, le serveur renvoie « ok », ce qui signifie que le middleware d'authentification autorise cette requête. Mais lorsque nous modifions 123456 par d'autres valeurs, cette requête ne peut pas transmettre le middleware d'authentification.
Pour plus d'articles techniques sur le framework Laravel, veuillez visiter le tutoriel laravel !
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Méthode pour obtenir le code de retour lorsque l'envoi par e-mail de Laravel échoue. Lorsque vous utilisez Laravel pour développer des applications, vous rencontrez souvent des situations où vous devez envoyer des codes de vérification. Et en réalité ...

Laravel Schedule Tâche d'exécution de dépannage non réactif Lorsque vous utilisez la planification des tâches de calendrier de Laravel, de nombreux développeurs rencontreront ce problème: Schedule: Exécuter ...

La méthode de traitement de l'échec de l'e-mail de Laravel à envoyer le code de vérification est d'utiliser Laravel ...

Comment implémenter la fonction du tableau de Cliquez sur personnalisé pour ajouter des données dans DCATADMIN (Laravel-Admin) lors de l'utilisation de DCAT ...

Laravel - Dump Server - Le serveur de dump Laravel est livré avec la version de Laravel 5.7. Les versions précédentes n'incluent aucun serveur de dump. Le serveur de vidage sera une dépendance de développement dans le fichier laravel/laravel composer.

L'impact du partage des connexions redis dans Laravel Framework et sélectionnez Méthodes Lors de l'utilisation de Laravel Framework et Redis, les développeurs peuvent rencontrer un problème: grâce à la configuration ...

Connexion de la base de données des locataires personnalisés dans le package d'extension multi-locataire Laravel Stancl / location Lors de la construction d'applications multi-locataires à l'aide du package d'extension multi-locataire Laravel Stancl / location, ...

Laravel - URL d'action - Laravel 5.7 introduit une nouvelle fonctionnalité appelée « URL d'action appelable ». Cette fonctionnalité est similaire à celle de Laravel 5.6 qui accepte la méthode string in action. L'objectif principal de la nouvelle syntaxe introduite par Laravel 5.7 est de diriger
