Bonjour,
J'utilise GraphQL et Vue.js qui se base sur l'API fait avec Laravel, j'essaie de créer un token d'authentification lorsqu'un utilisateur se connecte pour par la suite pouvoir lui donner accès à l'API.
Pour ce faire j'utilise jwt-auth, et j'ai donc une function resolve dans mon LoginQuery.php
// LoginQuery.php
public function resolve($root, $args)
{
$credentials = ['email' => $args['email'], 'password' => $args['password']];
$user = User::where('email', $args['email'])->first();
if ($user && Hash::check($args['password'], $user->password)) {
try {
// attempt to verify the credentials and create a token for the user
if (! $token = $this->jwt->attempt($credentials)) {
return response()->json(['error' => 'invalid_credentials'], 401);
}
} catch (JWTException $e) {
// something went wrong whilst attempting to encode the token
return response()->json(['error' => 'could_not_create_token'], 500);
}
// all good so return the token
return response()->json(compact('token'));
}
abort(403, 'Unauthorized action.');
return null;
}
J'aimerais qu'il me renvoie le token
A ce jour, j'ai une erreur de type:
Undefined property: Illuminate\Http\JsonResponse::$email
T'as pas une erreur moins large ? Genre un numéro de ligne ainsi que la backtrace ? Parce que là, je ne vois pas trop d'où il tire l'information...