/ / Laravel 5.1 AppHttpControllersJWT class not found - laravel, laravel-5.1, jwt, json-web-token

Laravel 5.1 AppHttpControllersJWT class not found - laravel, laravel-5.1, jwt, json-web-token

Je travaille avec JWT pour l'authentification dans mon application angular - laravel. Tout fonctionne correctement sauf lorsque le jeton doit être généré, un message d'erreur s'affiche.

AppHttpControllersJWT

J'ai essayé d'ajouter les lignes suivantes dans AuthController: -

use TymonJWTAuthProvidersJWTAuthServiceProvider;

et

use AppHttpControllersJWT;

et

use JWT;

mais rien ne semble fonctionner

Mon compositeur.json: -

"require": {
"php": ">=5.5.9",
"laravel/framework": "5.1.*",
"tymon/jwt-auth": "0.5.*"
},

AuthController -

$payload = [
"sub" => $user->id,
"iat" => time(),
"exp" => time() + (2 * 7 * 24 * 60 * 60)
];
return JWT::encode($payload, Config::get("app.token_secret"));

public function signup(Request $request){
$user = new User;
$user->name = $request->input("displayName");
$user->email = $request->input("email");
/*$user->password = Hash::make($request->input("password"));*/
$user->password = $request->input("password");
$user->save();
return response()->json(["token" => $this->createToken($user)]);
}

Réponses:

2 pour la réponse № 1

Essayer,

JWTAuth;

cependant, JWTAuth::encode n'existe pas, si vous devez utiliser encode méthode alors essayez ceci,

use TymonJWTAuthJWTManager as JWT;

Ensuite, vous pouvez accéder encode méthode

$customClaims = [
"sub" => $user->id,
"iat" => time(),
"exp" => time() + (2 * 7 * 24 * 60 * 60)
];

$payload = app("tymon.jwt.payload.factory")->make($customClaims);

return JWT::encode($payload, Config::get("app.token_secret"));

0 pour la réponse № 2

Cela devrait juste être un problème de namespacing. Je pense que tu veux le JWTAuth façade.

use JWTAuth;  // if added to aliases as the install mentions
use TymonJWTAuthFacadesJWTAuth; // if not aliased

mettre à jour: Si vous n'avez pas modifié le code dans la classe, ce qui signifie que vous avez toujours des appels à JWT, vous pouvez également créer un alias pour ces importations et ne pas devoir modifier les appels à JWT.

use JWTAuth as JWT;
use TymonJWTAuthFacadesJWTAuth as JWT;