我正在通过手机登录并生成令牌,如:
{
"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;
}