Php Laravel 5.5-使用Passport的Api未通过身份验证

Php Laravel 5.5-使用Passport的Api未通过身份验证,php,authentication,laravel-5,laravel-passport,laravel-5.5,Php,Authentication,Laravel 5,Laravel Passport,Laravel 5.5,我使用的是API认证的Passport包 问题是,Auth::trunt正在处理登录方法。和Auth::user()也在工作,但在其他方法中它不工作,并返回NULL 我的登录方法 在login first中,我通过Auth::check()检查身份验证-它不起作用 public function login(Request $request) { $data = json_decode($request->getContent(), TRUE); if(!e

我使用的是API认证的Passport包

问题是,
Auth::trunt
正在处理登录方法。和
Auth::user()
也在工作,但在其他方法中它不工作,并返回
NULL

我的登录方法

在login first中,我通过
Auth::check()
检查身份验证-它不起作用

public function login(Request $request) {
        $data = json_decode($request->getContent(), TRUE);
        if(!empty($data)) {
            if (Auth::check()) {
                return response()->json(['message'=>'Already Authenticated'], 200);
            } 
            else 
            {
                $email = $data['email'];
                $pass = $data['password'];
                $credentials = array('email' => $email, 'password' =>$pass);
                if(Auth::attempt($credentials)){    
                    $user = Auth::user();  // here it work
                    $success['token'] =  $user->createToken('MyApp')->accessToken;
                    return response()->json(['user' => $user, 'success' => $success], $this->successStatus);
                }
                else {
                    return response()->json(['error'=>'Unauthorised'], 401);
                }
            }
        }
    }
public function details()
    {
        $user = Auth::user();
        return response()->json(['success' => $user], $this->successStatus);
    }
在这里,身份验证不起作用

public function login(Request $request) {
        $data = json_decode($request->getContent(), TRUE);
        if(!empty($data)) {
            if (Auth::check()) {
                return response()->json(['message'=>'Already Authenticated'], 200);
            } 
            else 
            {
                $email = $data['email'];
                $pass = $data['password'];
                $credentials = array('email' => $email, 'password' =>$pass);
                if(Auth::attempt($credentials)){    
                    $user = Auth::user();  // here it work
                    $success['token'] =  $user->createToken('MyApp')->accessToken;
                    return response()->json(['user' => $user, 'success' => $success], $this->successStatus);
                }
                else {
                    return response()->json(['error'=>'Unauthorised'], 401);
                }
            }
        }
    }
public function details()
    {
        $user = Auth::user();
        return response()->json(['success' => $user], $this->successStatus);
    }
下面我给出了我在api.php文件中编写的路由

Route::group(['middleware' => ['api']], function () {
    Route::post("/login", ['uses'=>'UserController@login']);
    Route::get("/details", ['uses'=>'UserController@details']);
});
如果我像下面那样尝试,那么它也不起作用。 但是如果我删除了
->中间件('auth:api')
,那么它就可以工作了

Route::get('/user', function (Request $request) {
    return array(
    1 => "John",
    2 => "Mary",
    3 => "Steven"
    );
})->middleware('auth:api');
上面的url给出了
{“error”:“Unauthenticated.”}

我做了很多研究,但无法解决我的问题

任何帮助都将不胜感激


谢谢

您应该根据请求检查标题

Content-Type: application/json
Authorization: Bearer {{token}}

您应该检查请求的标题

Content-Type: application/json
Authorization: Bearer {{token}}

张贴您的路线also@MayankPandeyz,我已更新并提及我的路线。发布您的路线also@MayankPandeyz,我已更新并提及我的路线。