我有一个问题与Sanctum和 Postman 这是有关此职位:Sanctum和Postman的SPA身份验证问题
我遵循了Laravel文档中关于Sanctum的所有内容,并正确地配置了它。然后我遵循了以下教程:https://blog.codecourse.com/laravel-sanctum-airlock-with-postman/
除了POST请求外,其他都正常。当我登录时,它正常工作。但是我有一个没有预请求脚本的集合,当我向/user
发出GET请求时,它将返回登录的用户。
但是,当我在Laravel和Postman中将方法更改为POST
时,我将收到CSRF标记不匹配错误。
有人知道我必须做什么,使POST请求工作吗?
Route::middleware('auth:sanctum')->post('/user', function (Request $request) {
return $request->user();
});
3条答案
按热度按时间798qvoo81#
我一直在我的一个电子商务API中使用
sanctum
,我也遵循了你在问题中链接的同一个教程。很难说在你的例子中实际的问题是什么,但看起来你没有在你的POST
请求中发送X-XSRF-TOKEN
头。在上面提到的教程的最后一段,作者展示了如何击中
/logout
路线,这是一个POST
路线。wr98u20j2#
在控制器中删除此功能
或将其更改为
此外,检查您的
RouteServiceProvider
并将API路径更改为m0rkklqb3#
csrf_token用于在laravel中验证具有方法POST表单,并且动态创建标记,您可以执行以下两项操作
如果你正在写api,首先你需要使用
https://<base_url>/api
和routes/api.php中的路由,在那里你不需要csrf_token,但是确保使用正确的api认证其次,在测试postman之前,只需禁用这些路由的csrf令牌,一旦测试成功,即可再次启用,它将提供安全性
像这样禁用