【发布时间】:2017-09-21 04:10:48
【问题描述】:
我尝试在我的 Laravel + Vue SPA 中实现 JWT Auth。
在我的控制器中,我检查像
这样的凭据try {
if (!$token = JWTAuth::attempt($credentials)) {
return response()->json(
[
'error' => 'Invalid Credentials',
], 401
);
}
} catch (JWTException $e) {
return response()->json(
[
'error' => 'Could not create token!',
]
);
}
return response()->json(
[
'token' => $token,
]
);
我的 API 调用如下所示:
axios.post('/api/user/signin', payload)
.then((res) => {
console.log(res)
})
.catch((err) => {
console.log(err)
})
如果我通过payload 传递有效凭据,我会在then 块中获得令牌,并可以将其记录在控制台中。
如果我传递了无效的凭据,我会在控制台中收到错误:
错误:请求失败,状态码 401 在 createError (app.js:10562) 结算时 (app.js:21378) 在 XMLHttpRequest.handleLoad (app.js:10401)
如何获得“无效凭据”错误?如果我从响应中删除状态代码或将其设置为 200,则会收到错误“Invalid Credentials”。
【问题讨论】:
标签: javascript laravel-5 error-handling vue.js jwt