【问题标题】:Laravel 5.5 - Api using Passport did not AuthenticatedLaravel 5.5 - 使用 Passport 的 Api 未经过身份验证
【发布时间】:2017-09-22 13:09:58
【问题描述】:

我正在使用 API Authentication 的 Passport 包。

问题是Auth::attempt 正在使用登录方法。和Auth::user() 也可以工作,但在其他方法中它不起作用并返回NULL。

我的登录方式

首先登录时,我检查了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);
    }

下面我给出了我写在我的 api.php 文件中的路线

Route::group(['middleware' => ['api']], function () {
    Route::post("/login", ['uses'=>'UserController@login']);
    Route::get("/details", ['uses'=>'UserController@details']);
});

如果我在下面尝试过,那么它也不起作用。 但如果我删除了->middleware('auth:api'),它就会起作用。

Route::get('/user', function (Request $request) {
    return array(
    1 => "John",
    2 => "Mary",
    3 => "Steven"
    );
})->middleware('auth:api');

上面的网址是{"error":"Unauthenticated."}

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

任何帮助将不胜感激。

谢谢

【问题讨论】:

  • 也发布您的路线
  • @MayankPandeyz ,我已经更新并提及了我的路线。

标签: php authentication laravel-5 laravel-passport laravel-5.5


【解决方案1】:

您应该检查您的请求的标题

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-03-22
    • 2018-07-20
    • 2020-08-26
    • 2018-01-05
    • 2019-09-25
    • 2017-08-18
    • 2018-05-04
    • 1970-01-01
    相关资源
    最近更新 更多