Php Laravel 5.5-使用Passport的Api未通过身份验证
我使用的是API认证的Passport包 问题是,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
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,我已更新并提及我的路线。