Laravel 6

laravel passport authentification

Avatar de pepitalebresilien
pepitalebresilien

bonsoir à tous, je consomme actuelle une api developpé avec Laravel à l'aide de postman. je m'authenfie bien mais le soucis se trouve au nveau de la deconnexion. à la deconnexion, j'ai cette erreur : Call to a member function token() on null ci-dessous mon code:

public function login(Request $request)
    {

        $request->validate([
            'email' => 'required|string|email',
            'password' => 'required|string',
            'remember_me' => 'boolean'
        ]);

        $credentials = request(['email', 'password']);
        $credentials['active'] = 1;
        $credentials['deleted_at'] = null;

        if (!Auth::attempt($credentials))
            return response()->json([
                'message' => 'Acces refusé, verifier vos parametres de connexion'
            ], 401);

        $user = $request->user();

        $tokenResult = $user->createToken('Personal Access Token');
        $token = $tokenResult->token;
        if ($request->remember_me)
        {
            $token->expires_at = Carbon::now()->addWeeks(1);
        }
    
        $token->save();

        return response()->json([
            'success' => true,
            'id' => $user->id,
            'name' => $user->name,
            'email' => $user->email,
            'access_token' => $tokenResult->accessToken,
            'token_type' => 'Bearer',
            'expires_at' => Carbon::parse(
                $tokenResult->token->expires_at
            )->toDateTimeString()
        ], 200);
    }
    
    // deconnexion utilisateur
    public function logout(Request $request)
    {
    $request->user()->token()->revoke();
        return response()->json([
            'message' => 'deconnexion reussie'
        ],200);
    }

quelqu'un pourrait m'orienter? merci bien

Posté il y a 6 mois
Avatar de CinquièmeDimension
CinquièmeDimension

Salut,

Ton token est sensé être stocké dans ta session mais postman de le stocke pas, d'ou ton erreur je pense.

Moi perso pour les API j'utilise Lumen qui est fait exprès. Et avec le package JWT, quand tu te logue, ça te renvoie un token que stocke et renvoie à chaque nouvelle requete. Aussi, une fonction de déconnexion n'a rien à voir avec l'API, elle consiste juste à le token qui tu as stocké côté client. Enfin ça c'est comment moi je fais.

Posté il y a 6 mois

Vous ne pouvez pas répondre à ce sujet.