使用Api Jwt 获取当前用户信息 为啥会调用Authenticate中间件中的页面跳转
public function me(Request $request)
{
return (new UserResource($request->user()))->showSensitiveFields();
}
我看代码,是有判断跳过json的
protected function redirectTo($request)
{
if (! $request->expectsJson()) {
return route('login');
}
}
然后我在Api的路由中间件中也有设置
class AcceptHeader
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure(\Illuminate\Http\Request): (\Illuminate\Http\Response|\Illuminate\Http\RedirectResponse) $next
* @return \Illuminate\Http\Response|\Illuminate\Http\RedirectResponse
*/
public function handle(Request $request, Closure $next)
{
$request->headers->set('Accept', 'application/json');
return $next($request);
}
}
应该是jwt继承了
Illuminate\Auth\Middleware\Authenticate
,然后触发看了handle
,调用了authenticate
这个方法,重写unauthenticated
就可以了.验证失败就会走这.那你那个header没生效。
你直接在postman设置请求头呗