这是我的代码,用于生成将作为Cookie响应的令牌。
public function authenticate(Request $request)
{
// grab credentials from the request
$credentials = ['email'=>$request->header('email'),'password'=>$request->header('password')];
try {
// attempt to verify the credentials and create a token for the user
if (! $token = JWTAuth::attempt($credentials)) {
return response()->json(['error' => 'invalid_credentials'], 401);
}
} catch (JWTException $e) {
// something went wrong whilst attempting to encode the token
return response()->json(['error' => 'could_not_create_token'], 500);
}
return response($token)->cookie(
'token',$token, 60
);
}
我正在使用axios来处理它。这是我的代码:
axios({
method: 'post',
url: 'http://test.dev/authenticate',
headers : {
'email':'test@gmail.com',
'password':'secret'
},
json:true,
})
axios({
method: 'get',
url: 'http://test.dev/api/users',
json:true,
withCredentials: true
});
现在,我遇到了如何发送令牌以检索用户列表的问题。我试图添加withCredentials:true但没有运气。
我收到了一个响应错误token_not_provided。
问题:
先谢谢你。
答案 0 :(得分:0)
您需要将令牌添加到axios标头:
headers: {
'Authorization' : 'Bearer ' + token
}
确保在初次授权后收到token
后存储{。}}。
答案 1 :(得分:0)
有必要在您的请求标头中进行设置:
withCredentials: true
然后它将允许您,然后在“授权”参数中设置 cookie,正如我们的朋友在另一个答案中所说:
headers: {
Authorization' : 'Bearer ' + CookieToken,
}