api调用Laravel路由JWT的未经授权的错误

我正在通过手机登录并生成令牌,如:

{
    "token_type": "Bearer","expires_in": 2255555,"access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOjQwLCJpc3mioiJodHRwOi8vbXljbGllbnR3b3JrLndlYnNpdGUvdHJhbnhpdF9zY2hlZHVsZS9wdWJsaWMvYXbpl3VzZXIvbG9naW4iLCJpYXQiOjE1NzI2OTM4MzUsImV4cCI6MTU3MzA1MzgzNSwibmJmIjoxNTcyNjkzODM1LCJqdGkiOiIwdHdrZHFwNHNzcXVRM0FZIn0.Jez-RqV1AXgaApGYQNRJorsW9XiYuX63hWJddLsppVk","refresh_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOjQwLCJpc3mioiJodHRwOi8vbXljbGllbnR3b3JrLndlYnNpdGUvdHJhbnhpdF9zY2hlZHVsZS9wdWJsaWMvYXbpl3VzZXIvbG9naW4iLCJpYXQiOjE1NzI2OTM4MzYsImV4cCI6MTU3MzA1MzgzNiwibmJmIjoxNTcyNjkzODM2LCJqdGkiOiJJbDk1V2g3WHRhWHM0SDMxIn0.uDoMAIj33ldKT93jnRbr8Wc3kYAdfG0AV24ka9R5k68"
}

但未获得进一步处理申请的授权,请给我

  

未经授权的错误。    其他API请求。

我正在使用路由中间件`auth:api'

在kernal.php中,我有

protected $middlewareGroups = [
        'web' => [
            \App\Http\Middleware\EncryptCookies::class,\Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,\Illuminate\Session\Middleware\StartSession::class,\Illuminate\View\Middleware\ShareErrorsFromSession::class,\App\Http\Middleware\VerifyCsrfToken::class,\Illuminate\Routing\Middleware\SubstituteBindings::class,],'api' => [
            'throttle:60,1','bindings',];

    /**
     * The application's route middleware.
     *
     * These middleware may be assigned to groups or used individually.
     *
     * @var array
     */
    protected $routeMiddleware = [
        'account' => \App\Http\Middleware\RedirectIfNotaccount::class,'account.guest' => \App\Http\Middleware\RedirectIfaccount::class,'fleet' => \App\Http\Middleware\RedirectIfNotFleet::class,'fleet.guest' => \App\Http\Middleware\RedirectIfFleet::class,'dispatcher' => \App\Http\Middleware\RedirectIfNotDispatcher::class,'dispatcher.guest' => \App\Http\Middleware\RedirectIfDispatcher::class,'provider' => \App\Http\Middleware\RedirectIfNotProvider::class,'provider.guest' => \App\Http\Middleware\RedirectIfProvider::class,'provider.api' => \App\Http\Middleware\ProviderApiMiddleware::class,'admin' => \App\Http\Middleware\RedirectIfNotAdmin::class,'admin.guest' => \App\Http\Middleware\RedirectIfAdmin::class,'auth' => \Illuminate\Auth\Middleware\Authenticate::class,'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class,'bindings' => \Illuminate\Routing\Middleware\SubstituteBindings::class,'can' => \Illuminate\Auth\Middleware\Authorize::class,'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class,'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class,'jwt.auth' => 'Tymon\JWTAuth\Middleware\GetUserFromToken','jwt.refresh' => 'Tymon\JWTAuth\Middleware\RefreshToken','demo' => \App\Http\Middleware\DemoModeMiddleware::class,];

控制器:

public function login(Request $request){

        if (isset($request->email))
        {

        $credentials = $request->only('email','password');

         try {
            if (! $token = JWTAuth::attempt($credentials)) {

                return response()->json(['error' => 'The email address or password you entered is incorrect.'],401);
            }
        } catch (JWTException $e) {
            return response()->json(['error' => 'Something went wrong,Please try again later!'],500);
        }

$refresh_token=$this->refresh_token($request);

        }
else{

    $token=$request->refresh_token;

$refresh_token = JWTAuth::refresh($request->refresh_token);



}

return response()->json(["token_type" => "Bearer",'expires_in' => 2255555,'access_token' => $token,'refresh_token'=>$refresh_token]);


   }


public function refresh_token(Request $request)
    {

  $credentials = $request->only('email','password');

         try {
            if (! $token = JWTAuth::attempt($credentials)) {

                return 'The email address or password you entered is incorrect.';
            }
        } catch (JWTException $e) {
            return 'Something went wrong,Please try again later!';
        }
        return $token;
    }
wangxuchen37 回答:api调用Laravel路由JWT的未经授权的错误

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3167005.html

大家都在问