【发布时间】:2016-03-13 03:49:04
【问题描述】:
我正在使用 JWT 在我的 angular - laravel 应用程序中进行身份验证。一切正常,除了需要生成令牌时,我得到一个错误
App\Http\Controllers\JWT
我尝试在 AuthController 中添加以下行:-
use Tymon\JWTAuth\Providers\JWTAuthServiceProvider;
和
use App\Http\Controllers\JWT;
和
use JWT;
但似乎没有任何效果
我的 composer.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)]);
}
【问题讨论】:
-
你能显示文件的内容吗?
-
它在 laravel.log 中 - local.ERROR: 异常 'Symfony\Component\Debug\Exception\FatalErrorException' 带有消息 'Class 'App\Http\Controllers\JWT' not found'
-
JWT 类的文件路径是什么?
-
有点脱离上下文,但是将
id暴露在前端是一种不好的做法。您没有使用 Tymon 的 JWT 提供的功能。理想情况下,您不需要携带有效载荷。只需转到config目录,您将看到JWT.php并在此处添加您的expiry和identifier -
是的,我同意这一点,但它将是 JWT 令牌的一部分,您将返回到前端,可以在 jwt.io 等网站上轻松解码,这暴露了 @ 987654333@。我的建议是在令牌中使用
uuid
标签: laravel laravel-5.1 jwt json-web-token