Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Illuminate\Contracts\Auth\Guard is not instantiable #1360

Open
AugmentBLU opened this issue Oct 25, 2017 · 8 comments
Open

Illuminate\Contracts\Auth\Guard is not instantiable #1360

AugmentBLU opened this issue Oct 25, 2017 · 8 comments

Comments

@AugmentBLU
Copy link

Hello,

I'm having issues trying to integrate JWT-Auth with October CMS which uses Laravel 5.5. I am getting the following error whenever I try to use a route with JWT-Auth.

Target [Illuminate\Contracts\Auth\Guard] is not instantiable while building [Tymon\JWTAuth\Providers\Auth\Illuminate].

I have tried both the 1.0.0-rc.1 and the dev-develop branch but both give the same error.

My integration is

App::register(\Tymon\JWTAuth\Providers\LaravelServiceProvider::class);
$alias = AliasLoader::getInstance();
$alias->alias('JWTAuth', \Tymon\JWTAuth\Facades\JWTAuth::class);
$alias->alias('JWTFactory', \Tymon\JWTAuth\Facades\JWTFactory::class);

App::singleton('auth', function ($app) {
	return new \Illuminate\Auth\AuthManager($app);
});

$this->app['router']->middleware('jwt.auth', '\Tymon\JWTAuth\Middleware\GetUserFromToken');
$this->app['router']->middleware('jwt.refresh', '\Tymon\JWTAuth\Middleware\RefreshToken');

Routes

Route::group(['prefix' => 'api'], function()
{
    Route::post('auth/login', '\Path_to_Controllers\Controllers\ApiAuth@authenticate');
});

ApiAuth Contoller

use Illuminate\Http\Request;
use Illuminate\Routing\Controller;
use Tymon\JWTAuth\Exceptions\JWTException;
use JWTAuth;

class ApiAuth extends Controller
{
    public function authenticate(Request $request)
    {
        $credentials = $request->only('email', 'password');

        try {
            // verify the credentials and create a token for the user
            if (! $token = JWTAuth::attempt($credentials)) {
                return response()->json(['error' => 'invalid_credentials'], 401);
            }
        } catch (JWTException $e) {
            // something went wrong
            return response()->json(['error' => 'could_not_create_token'], 500);
        }
        // if no errors are encountered we can return a JWT
        return response()->json(compact('token'));
    }
}

Stack Trace

Illuminate\Contracts\Container\BindingResolutionException: Target [Illuminate\Contracts\Auth\Guard] is not instantiable while building [Tymon\JWTAuth\Providers\Auth\Illuminate]. in /home/vagrant/website/vendor/laravel/framework/src/Illuminate/Container/Container.php:918
Stack trace:
#0 /home/vagrant/website/vendor/laravel/framework/src/Illuminate/Container/Container.php(758): Illuminate\Container\Container->notInstantiable('Illuminate\\Cont...')
#1 /home/vagrant/website/vendor/laravel/framework/src/Illuminate/Container/Container.php(631): Illuminate\Container\Container->build('Illuminate\\Cont...')
#2 /home/vagrant/website/vendor/laravel/framework/src/Illuminate/Container/Container.php(586): Illuminate\Container\Container->resolve('Illuminate\\Cont...', Array)
#3 /home/vagrant/website/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(721): Illuminate\Container\Container->make('Illuminate\\Cont...', Array)
#4 /home/vagrant/website/vendor/october/rain/src/Foundation/Application.php(162): Illuminate\Foundation\Application->make('Illuminate\\Cont...')
#5 /home/vagrant/website/vendor/laravel/framework/src/Illuminate/Container/Container.php(885): October\Rain\Foundation\Application->make('Illuminate\\Cont...')
#6 /home/vagrant/website/vendor/laravel/framework/src/Illuminate/Container/Container.php(813): Illuminate\Container\Container->resolveClass(Object(ReflectionParameter))
#7 /home/vagrant/website/vendor/laravel/framework/src/Illuminate/Container/Container.php(779): Illuminate\Container\Container->resolveDependencies(Array)
#8 /home/vagrant/website/vendor/laravel/framework/src/Illuminate/Container/Container.php(631): Illuminate\Container\Container->build('Tymon\\JWTAuth\\P...')
#9 /home/vagrant/website/vendor/laravel/framework/src/Illuminate/Container/Container.php(586): Illuminate\Container\Container->resolve('Tymon\\JWTAuth\\P...', Array)
#10 /home/vagrant/website/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(721): Illuminate\Container\Container->make('Tymon\\JWTAuth\\P...', Array)
#11 /home/vagrant/website/vendor/october/rain/src/Foundation/Application.php(162): Illuminate\Foundation\Application->make('Tymon\\JWTAuth\\P...')
#12 /home/vagrant/website/vendor/tymon/jwt-auth/src/Providers/AbstractServiceProvider.php(337): October\Rain\Foundation\Application->make('Tymon\\JWTAuth\\P...')
#13 /home/vagrant/website/vendor/tymon/jwt-auth/src/Providers/AbstractServiceProvider.php(150): Tymon\JWTAuth\Providers\AbstractServiceProvider->getConfigInstance('providers.auth')
#14 /home/vagrant/website/vendor/laravel/framework/src/Illuminate/Container/Container.php(749): Tymon\JWTAuth\Providers\AbstractServiceProvider->Tymon\JWTAuth\Providers\{closure}(Object(October\Rain\Foundation\Application), Array)
#15 /home/vagrant/website/vendor/laravel/framework/src/Illuminate/Container/Container.php(631): Illuminate\Container\Container->build(Object(Closure))
#16 /home/vagrant/website/vendor/laravel/framework/src/Illuminate/Container/Container.php(586): Illuminate\Container\Container->resolve('tymon.jwt.provi...', Array)
#17 /home/vagrant/website/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(721): Illuminate\Container\Container->make('tymon.jwt.provi...', Array)
#18 /home/vagrant/website/vendor/october/rain/src/Foundation/Application.php(162): Illuminate\Foundation\Application->make('tymon.jwt.provi...')
#19 /home/vagrant/website/vendor/laravel/framework/src/Illuminate/Container/Container.php(1195): October\Rain\Foundation\Application->make('tymon.jwt.provi...')
#20 /home/vagrant/website/vendor/tymon/jwt-auth/src/Providers/AbstractServiceProvider.php(235): Illuminate\Container\Container->offsetGet('tymon.jwt.provi...')
#21 /home/vagrant/website/vendor/laravel/framework/src/Illuminate/Container/Container.php(749): Tymon\JWTAuth\Providers\AbstractServiceProvider->Tymon\JWTAuth\Providers\{closure}(Object(October\Rain\Foundation\Application), Array)
#22 /home/vagrant/website/vendor/laravel/framework/src/Illuminate/Container/Container.php(631): Illuminate\Container\Container->build(Object(Closure))
#23 /home/vagrant/website/vendor/laravel/framework/src/Illuminate/Container/Container.php(586): Illuminate\Container\Container->resolve('tymon.jwt.auth', Array)
#24 /home/vagrant/website/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(721): Illuminate\Container\Container->make('tymon.jwt.auth', Array)
#25 /home/vagrant/website/vendor/october/rain/src/Foundation/Application.php(162): Illuminate\Foundation\Application->make('tymon.jwt.auth')
#26 /home/vagrant/website/vendor/laravel/framework/src/Illuminate/Container/Container.php(1195): October\Rain\Foundation\Application->make('tymon.jwt.auth')
#27 /home/vagrant/website/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php(159): Illuminate\Container\Container->offsetGet('tymon.jwt.auth')
#28 /home/vagrant/website/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php(128): Illuminate\Support\Facades\Facade::resolveFacadeInstance('tymon.jwt.auth')
#29 /home/vagrant/website/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php(215): Illuminate\Support\Facades\Facade::getFacadeRoot()
#30 /home/vagrant/website/plugins/isa/surveyor/controllers/ApiAuth.php(17): Illuminate\Support\Facades\Facade::__callStatic('attempt', Array)
#31 [internal function]: My_App\Controllers\ApiAuth->authenticate(Object(Illuminate\Http\Request))
#32 /home/vagrant/website/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): call_user_func_array(Array, Array)
#33 /home/vagrant/website/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(45): Illuminate\Routing\Controller->callAction('authenticate', Array)
#34 /home/vagrant/website/vendor/laravel/framework/src/Illuminate/Routing/Route.php(212): Illuminate\Routing\ControllerDispatcher->dispatch(Object(Illuminate\Routing\Route), Object(My_App\Controllers\ApiAuth), 'authenticate')
#35 /home/vagrant/website/vendor/laravel/framework/src/Illuminate/Routing/Route.php(169): Illuminate\Routing\Route->runController()
#36 /home/vagrant/website/vendor/laravel/framework/src/Illuminate/Routing/Router.php(645): Illuminate\Routing\Route->run()
#37 /home/vagrant/website/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(30): Illuminate\Routing\Router->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#38 /home/vagrant/website/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(102): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#39 /home/vagrant/website/vendor/laravel/framework/src/Illuminate/Routing/Router.php(647): Illuminate\Pipeline\Pipeline->then(Object(Closure))
#40 /home/vagrant/website/vendor/laravel/framework/src/Illuminate/Routing/Router.php(622): Illuminate\Routing\Router->runRouteWithinStack(Object(Illuminate\Routing\Route), Object(Illuminate\Http\Request))
#41 /home/vagrant/website/vendor/laravel/framework/src/Illuminate/Routing/Router.php(588): Illuminate\Routing\Router->runRoute(Object(Illuminate\Http\Request), Object(Illuminate\Routing\Route))
#42 /home/vagrant/website/vendor/october/rain/src/Router/CoreRouter.php(20): Illuminate\Routing\Router->dispatchToRoute(Object(Illuminate\Http\Request))
#43 /home/vagrant/website/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(176): October\Rain\Router\CoreRouter->dispatch(Object(Illuminate\Http\Request))
#44 /home/vagrant/website/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(30): Illuminate\Foundation\Http\Kernel->Illuminate\Foundation\Http\{closure}(Object(Illuminate\Http\Request))
#45 /home/vagrant/website/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php(46): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#46 /home/vagrant/website/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode->handle(Object(Illuminate\Http\Request), Object(Closure))
#47 /home/vagrant/website/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#48 /home/vagrant/website/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(102): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#49 /home/vagrant/website/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(151): Illuminate\Pipeline\Pipeline->then(Object(Closure))
#50 /home/vagrant/website/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(116): Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter(Object(Illuminate\Http\Request))
#51 /home/vagrant/website/index.php(43): Illuminate\Foundation\Http\Kernel->handle(Object(Illuminate\Http\Request))

Any idea what could cause the Illuminate\Contracts\Auth\Guard] is not instantiable error?

@ElijahGM
Copy link

DId anyone solve this issue?

@vdomah
Copy link

vdomah commented Jul 22, 2018

also got this issue. Any solution?

@kudlohlavec
Copy link

Same problem here, have you managed to find any solution?

@Kreateyou
Copy link

Override the class and pass octobercms class

@kudlohlavec
Copy link

@Kreateyou which classes are you referring to?

@AurimasAng
Copy link

any updates?

@stale
Copy link

stale bot commented Dec 25, 2020

Is this still relevant? If so, what is blocking it? Is there anything you can do to help move it forward?

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs.

@stale stale bot added the stale label Dec 25, 2020
@muhammad-ihsan
Copy link

@AugmentBLU did you find the solutions? i have some problem like this using octobercms, composer.json file:

"php": ">=7.2",
"october/rain": "1.1.*",
"october/system": "1.1.*",
"october/backend": "1.1.*",
"october/cms": "1.1.*",
"laravel/framework": "~6.0",
"wikimedia/composer-merge-plugin": "dev-feature/composer-v2 as 1.5.0",
"maatwebsite/excel": "^3.1",
"tymon/jwt-auth": "dev-develop"

@stale stale bot removed the stale label Jul 17, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

7 participants