Maison  >  Questions et réponses  >  le corps du texte

Créer une API GET avec un jeton d'autorisation à l'aide de Laravel

J'ai une API Registration qui enregistre les détails de l'utilisateur dans la base de données et génère également des jetons en utilisant laravel Passport et enregistrez le jeton dans la base de données

Maintenant, j'essaie de créer une get api qui récupérera toutes les données de la base de données en utilisant le jeton généré

Ce que j'ai essayé

Dans api.php

路由::get('/get_user', [userDEtails::class, 'get_user']);

userDEtails.php Contrôleur

public function get_user(Reqest $req)
{

// what code must i add here
    
}

Dans Postman, je souhaite ajouter un jeton dans l'en-tête car l'autorisation et l'API fonctionnent

J'utilise le framework Laravel 9.41.0

P粉239164234P粉239164234322 Il y a quelques jours463

répondre à tous(1)je répondrai

  • P粉475126941

    P粉4751269412023-12-26 00:53:25

    Puisque vous avez dit que vous utilisez Laravel Passport pour cela, essayez d'exécuter this pour obtenir l'utilisateur (et vérifier la portée)

    public function get_user(Request $request)
    {
        $user = $request->user();
    }

    Idéalement, cela devrait fonctionner. Vous devez également vous assurer que votre route utilise le middleware 'auth:api' comme cette route -

    Route::get('/get_user', [userDEtails::class, 'get_user'])->middleware('auth:api');

    Si pour une raison quelconque vous ne pouvez pas utiliser le middleware « auth:api » pour cette route et devez vous en tenir à « web » ou autre chose, vous pouvez utiliser -

    $user = auth()->guard('api')->user()

    ou

    $user = $request->user('api')

    Au lieu d'obtenir l'objet utilisateur.

    répondre
    0
  • Annulerrépondre