vendredi 23 mars 2018

how to implement multiauth in laravel passport

I have two users admin/user i want to authenticate this two users for api, it is working for one user but its not working for admin

see what i have tried in admin controller

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);
    }
}

and in 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');
});


});

When i try to call attempt function for admin its giving me error

BadMethodCallException Method Illuminate\Auth\RequestGuard::attempt does not exist.

can you please share your ideas over how to do multiauth in laravel/passport



via Chebli Mohamed

Aucun commentaire:

Enregistrer un commentaire