【发布时间】:2018-09-01 20:51:57
【问题描述】:
我有两个用户 admin/user 我想验证这两个用户的 api, 它适用于一个用户,但不适用于管理员
看看我尝试了什么 在管理控制器中
public function login(Request $request){
// $res=;
// dd ($res);
if(Auth::guard('admin')->attempt(['email' => $request->email, 'password' => $request->password]))
{
// if successful, then redirect to their intended location
$user = auth()->guard('admin')->user();
$success['token'] = $user->createToken('admin')->accessToken;
return response()->json(['success' => $success], $this->successStatus);
}
else{
return response()->json(['error'=>'Unauthorised','email'=> $request->email,'password'=> $request->password], 401);
}
}
在 api.php 中
Route::prefix('admin')->group(function () {
Route::post('login', 'API\Admin\AdminController@login')->name('admin.login');
Route::post('register', 'API\Admin\AdminController@register')->name('admin.register');
Route::group(['middleware' => 'auth:admin-api'], function(){
Route::post('get-details', 'API\Admin\AdminController@getDetails');
});
});
当我尝试为管理员调用尝试函数时,它给了我错误
BadMethodCallException 方法 Illuminate\Auth\RequestGuard::attempt 不存在。
您能否分享您对如何在 laravel/passport 中进行多身份验证的想法
【问题讨论】:
-
我尝试了一种类似的方式来验证两个用户但我失败了,所以我在我的用户表中添加了一个枚举“类型”字段。
-
所以没有办法在 laravel/passport 中为 api 做多重身份验证?
-
ok 会检查的
标签: php laravel laravel-5 laravel-4 jwt