上下文:
我需要在我的网站上创建一个SPA页面,它基本上是一个用户插入其社交号码的投票页面,当单击start按钮时,我需要登录我为投票创建的一个用户,使用Sanctum,并获得下一个Ajax请求的令牌。
问题:
验证社交号码和返回令牌函数:
public function verifyNIF(Request $request){
$nif = $request->nif;
$slug = $request->slug;
//TODO:validates NIF in DB
$user = CbsHelpers::getInPersonUser();
$token = $user->createToken('in-person-token')->plainTextToken;
return response()->json([
'user' => $user,
'token' => $token,
]);
}
授权头中带有令牌的Ajax请求(返回401未经授权)
function voteInPerson(topic){
let topicId = topic.data('topic-id');
$.ajax({
url: "/vote",
type: "POST",
headers: {
Authorization: 'Bearer '+token
},
data: {
slug: slug,
topicId: topicId,
},
success: function (data) {
if (data === "no available votes" && topic.hasClass("not-voted")) {
showWarningModal(data);
}
else {
changeTopicVote(topic, data);
}
},
error: function (data) {
if (data.status === 401)
showWarningModal("login needed");
}
});
}
发布于 2021-06-17 11:13:49
问题是路由被设置为中间件(‘auth’),而不是'auth:sanctum‘。
https://stackoverflow.com/questions/68016789
复制相似问题