相关疑难解决方法(0)

如何在 Laravel 护照中实现多重身份验证

我有两个用户 admin/user 我想验证这两个用户的 api,它适用于一个用户,但它不适用于 admin

看看我在管理控制器中尝试了什么

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);
    }
}
Run Code Online (Sandbox Code Playgroud)

并在 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');
});


});
Run Code Online (Sandbox Code Playgroud)

当我尝试为管理员调用尝试功能时,它给了我错误

BadMethodCallException 方法 Illuminate\Auth\RequestGuard::attempt 不存在。

你能分享你对如何在 laravel/passport 中进行多重身份验证的想法吗?

php jwt laravel laravel-4 laravel-5

5
推荐指数
1
解决办法
4091
查看次数

使用Laravel 5.4和Passport进行Multi Auth

我正在尝试使用Laravel Passport设置多个身份验证,但它似乎不支持它.我使用密码授予发出令牌,要求我传递想要访问令牌的用户的用户名/密码.

我有3个auth警卫/提供者设置,总共4个.用户,供应商,管理员和API

其中2个Auths需要访问护照,因此每个用户都需要能够发放令牌.但是,Passport会自动获取API身份验证提供程序,但我希望根据登录的用户进行更改.如果用户确实是用户提供商,那么它是供应商,然后是供应商提供商.

但Passport目前只支持1种用户类型,因此默认为API提供者.

这有什么更好的吗?或者我应该使用基于角色的身份验证.

php oauth-2.0 laravel laravel-passport

4
推荐指数
1
解决办法
6337
查看次数

标签 统计

laravel ×2

php ×2

jwt ×1

laravel-4 ×1

laravel-5 ×1

laravel-passport ×1

oauth-2.0 ×1