我在laravel 5.2和Vue Js中使用JWT授权。 我有分别用于客户端和服务器端的文件夹。我使用以下代码登录了应用程序:
<script>
export default {
data () {
return {
email: null,
password: null,
error: false
}
},
methods: {
login () {
var app = this
this.$auth.login({
params: {
email: app.email,
password: app.password
},
success: function (response) {
console.log(this.$auth.token())
this.$auth.user(response.data.user)
},
error: function () {},
rememberMe: false,
redirect: '/',
fetchUser: true
})
}
}
}
</script>
服务器端代码:
public function login(Request $request)
{
$credentials = $request->only('email', 'password');
if ( ! $token = JWTAuth::attempt($credentials)) {
return response([
'status' => 'error',
'error' => 'invalid.credentials',
'msg' => 'Invalid Credentials.'
], 400);
}
return response([
'status' => 'success'
])
->header('Authorization', $token);
}
此后,它也应该由于fetchUser: true
获得用户信息。
在登录时,我得到了一个授权码,但是当它请求获取用户调用时,它的标题中没有授权令牌,并且会生成错误:
未提供令牌
我是Vue.js的新手。