jwt-auth
jwt-auth copied to clipboard
Illuminate\Contracts\Auth\Guard is not instantiable
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?
DId anyone solve this issue?
also got this issue. Any solution?
Same problem here, have you managed to find any solution?
Override the class and pass octobercms class
@Kreateyou which classes are you referring to?
any updates?
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.
@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"