【发布时间】:2021-10-20 09:37:38
【问题描述】:
我正在为我的 API 使用 Laravel sanctum。
如何检查用户是否通过 sanctum 中间件进行了身份验证但没有重定向?我想检查他是否已通过身份验证,然后执行某些操作,如果没有,则执行其他操作,而不重定向或发送“未经身份验证”消息。
有没有办法直接使用 sanctum 或者我必须手动检查令牌及其到期时间?
【问题讨论】:
-
你可以在中间件中做类似
$request->session->set('is_sanctrum_redirected', true)的东西 -
这是一个无状态的 api,没有会话,老实说我不知道 `` $request->session->set('is_sanctrum_redirected', true) ``` 这意味着什么
-
嗯,如果它是无状态 api - 你可以在哪里被重定向,对吧?在 api 中你会得到 401 错误,而不是重定向。
-
是的,我的意思是我不想让请求结束并且用户收到一个 401“未经身份验证”,如果他没有经过身份验证,我想处理并相应地发送一些东西
-
如果你想重写异常消息 - 你可以在异常处理程序中使用它。
标签: laravel authentication api-design laravel-sanctum