【发布时间】:2016-02-23 20:31:20
【问题描述】:
在 laravel 中使用 JWT 时,我在编辑器中收到一条消息 -
Undefined class JWTAuth
即使在添加以下行之后:-
use JWTAuth;
use Tymon\JWTAuth\Exceptions\JWTException;
我按照本教程 https://www.codetutorial.io/laravel-and-angularjs-token-based-auth-part1/ 进行了更改,但仍然
app/config.php 有:-
Tymon\JWTAuth\Providers\JWTAuthServiceProvider::class,
和
'JWTAuth' => Tymon\JWTAuth\Facades\JWTAuth::class,
'JWTFactory' => Tymon\JWTAuth\Facades\JWTFactory::class
我的 TokenAuthController -
public function authenticate(Request $request)
{
$credentials = $request->only('email', 'password');
try {
if (! $token = JWTAuth::attempt($credentials)) {
return response()->json(['error' => 'invalid_credentials'], 401);
}
} catch (JWTException $e) {
return response()->json(['error' => 'could_not_create_token'], 500);
}
// if no errors are encountered we can return a JWT
return response()->json(compact('token'));
}
public function getAuthenticatedUser()
{
try {
if (! $user = JWTAuth::parseToken()->authenticate()) {
return response()->json(['user_not_found'], 404);
}
} catch (Tymon\JWTAuth\Exceptions\TokenExpiredException $e) {
return response()->json(['token_expired'], $e->getStatusCode());
} catch (Tymon\JWTAuth\Exceptions\TokenInvalidException $e) {
return response()->json(['token_invalid'], $e->getStatusCode());
} catch (Tymon\JWTAuth\Exceptions\JWTException $e) {
return response()->json(['token_absent'], $e->getStatusCode());
}
return response()->json(compact('user'));
}
因此,不会生成令牌。
请帮助。
【问题讨论】:
-
只是编辑器中的错误,还是真的在运行时抛出错误?
-
@MinaYoussef - 仅在编辑器中,因此我认为不会生成令牌。
-
如果没有抛出错误,那么 Laravel 可以解决依赖关系。你会分享生成令牌的代码吗?
-
@MinaYoussef - 我编辑了帖子,添加了 TokenAuthController.php 代码。这是我正在关注的教程 - codetutorial.io/laravel-and-angularjs-token-based-auth-part1
-
身份验证操作的输出是什么?
标签: laravel laravel-5 token jwt json-web-token