如何解决在Laravel Sanctum上的null上调用成员函数tokens
当我尝试注销用户时出现此错误
public function logout(Request $request)
{
$request->user()->tokens()->delete();
}
解决方法
这对我有用,将您的 Controller.php
中的代码更改为,
public function logout(Request $request){
Auth::user()->tokens()->delete();
return [
'message' => 'logged out'
];
}
并确保您的 Route POST 请求在 api.php
中受到保护,将代码更改为以下
Route::post('/logout',[AuthController::class,'logout'])->middleware('auth:sanctum');
,
使用<body>
<div class="content">
<button id="add">Add Content</button>
<p id="content">content</p>
</div>
<footer class="footer">footer</footer>
</body>
代替token()
tokens()
或者您可以按以下方式使用它。
$request->user()->token()->delete();
通过撤消
Auth::user()->tokens->each(function($token,$key) {
$token->delete();
});
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。