Skip to content

Getting BindingResolutionException while working with Zitadel provider in WSL2 #1362

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

Open
tbhaxor opened this issue May 27, 2025 · 3 comments

Comments

@tbhaxor
Copy link
Contributor

tbhaxor commented May 27, 2025

Steps to reproduce

  1. Create project composer create-project laravel/laravel auth-socialiate
  2. Change directory cd auth-socialiate
  3. Install zitadel provider composer require socialiteproviders/zitadel
  4. Configure the event listen as defined in the documentation https://socialiteproviders.com/Zitadel/#add-provider-event-listener
  5. Re-run package discover php artisan package:discover

Image

It's also not letting me execute commands on tinker

Image

@atymic
Copy link
Member

atymic commented Jun 2, 2025

This means the class isn't being autoloaded correctly via composer. Can you check for it in your composer generated autoload files?

@tbhaxor
Copy link
Contributor Author

tbhaxor commented Jun 2, 2025

I can see the following entry in vendor/composer/autoload_psr4.php

'Socialiteproviders\\Zitadel\\' => array($vendorDir . '/socialiteproviders/zitadel'),

Also, grep Zitadel -rl vendor gives following output.

vendor/composer/autoload_classmap.php
vendor/composer/autoload_psr4.php
vendor/composer/installed.json
vendor/composer/autoload_static.php
vendor/socialiteproviders/zitadel/README.md
vendor/socialiteproviders/zitadel/composer.json
vendor/socialiteproviders/zitadel/ZitadelExtendSocialite.php
vendor/socialiteproviders/zitadel/Provider.php

So I tried executing the same steps on native Linux installation (ubuntu) and it is working. The above steps are from WSL2, and there it's still failing. I believe this is why it is working on CI job and not on the development environment.

@tbhaxor
Copy link
Contributor Author

tbhaxor commented Jun 9, 2025

Hey @atymic, I have a complete stack trace now.

[2025-06-09 08:59:18] local.ERROR: Target class [SocialiteProviders\Zitadel\ZitadelExtendSocialite] does not exist. {"exception":"[object] (Illuminate\\Contracts\\Container\\BindingResolutionException(code: 0): Target class [SocialiteProviders\\Zitadel\\ZitadelExtendSocialite] does not exist. at /home/tbhaxor/projects/my-project/vendor/laravel/framework/src/Illuminate/Container/Container.php:921)
[stacktrace]
#0 /home/tbhaxor/projects/my-project/vendor/laravel/framework/src/Illuminate/Container/Container.php(799): Illuminate\\Container\\Container->build('SocialiteProvid...')
#1 /home/tbhaxor/projects/my-project/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(963): Illuminate\\Container\\Container->resolve('SocialiteProvid...', Array, true)
#2 /home/tbhaxor/projects/my-project/vendor/laravel/framework/src/Illuminate/Container/Container.php(735): Illuminate\\Foundation\\Application->resolve('SocialiteProvid...', Array)
#3 /home/tbhaxor/projects/my-project/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(948): Illuminate\\Container\\Container->make('SocialiteProvid...', Array)
#4 /home/tbhaxor/projects/my-project/vendor/laravel/framework/src/Illuminate/Events/Dispatcher.php(502): Illuminate\\Foundation\\Application->make('SocialiteProvid...')
#5 /home/tbhaxor/projects/my-project/vendor/laravel/framework/src/Illuminate/Events/Dispatcher.php(476): Illuminate\\Events\\Dispatcher->createClassCallable('SocialiteProvid...')
#6 /home/tbhaxor/projects/my-project/vendor/laravel/framework/src/Illuminate/Events/Dispatcher.php(286): Illuminate\\Events\\Dispatcher->Illuminate\\Events\\{closure}('SocialiteProvid...', Array)
#7 /home/tbhaxor/projects/my-project/vendor/laravel/framework/src/Illuminate/Events/Dispatcher.php(266): Illuminate\\Events\\Dispatcher->invokeListeners('SocialiteProvid...', Array, false)
#8 /home/tbhaxor/projects/my-project/vendor/laravel/framework/src/Illuminate/Foundation/helpers.php(433): Illuminate\\Events\\Dispatcher->dispatch('SocialiteProvid...')
#9 /home/tbhaxor/projects/my-project/vendor/socialiteproviders/manager/src/ServiceProvider.php(21): event(Object(SocialiteProviders\\Manager\\SocialiteWasCalled))
#10 /home/tbhaxor/projects/my-project/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(1064): SocialiteProviders\\Manager\\ServiceProvider->SocialiteProviders\\Manager\\{closure}(Object(Illuminate\\Foundation\\Application))
#11 /home/tbhaxor/projects/my-project/vendor/socialiteproviders/manager/src/ServiceProvider.php(18): Illuminate\\Foundation\\Application->booted(Object(Closure))
#12 /home/tbhaxor/projects/my-project/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(36): SocialiteProviders\\Manager\\ServiceProvider->boot()
#13 /home/tbhaxor/projects/my-project/vendor/laravel/framework/src/Illuminate/Container/Util.php(41): Illuminate\\Container\\BoundMethod::Illuminate\\Container\\{closure}()
#14 /home/tbhaxor/projects/my-project/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(93): Illuminate\\Container\\Util::unwrapIfClosure(Object(Closure))
#15 /home/tbhaxor/projects/my-project/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(35): Illuminate\\Container\\BoundMethod::callBoundMethod(Object(Illuminate\\Foundation\\Application), Array, Object(Closure))
#16 /home/tbhaxor/projects/my-project/vendor/laravel/framework/src/Illuminate/Container/Container.php(664): Illuminate\\Container\\BoundMethod::call(Object(Illuminate\\Foundation\\Application), Array, Array, NULL)
#17 /home/tbhaxor/projects/my-project/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(1036): Illuminate\\Container\\Container->call(Array)
#18 /home/tbhaxor/projects/my-project/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(819): Illuminate\\Foundation\\Application->bootProvider(Object(SocialiteProviders\\Manager\\ServiceProvider))
#19 /home/tbhaxor/projects/my-project/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(928): Illuminate\\Foundation\\Application->register(Object(SocialiteProviders\\Manager\\ServiceProvider))
#20 /home/tbhaxor/projects/my-project/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(908): Illuminate\\Foundation\\Application->registerDeferredProvider('SocialiteProvid...', 'Laravel\\\\Sociali...')
#21 /home/tbhaxor/projects/my-project/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(884): Illuminate\\Foundation\\Application->loadDeferredProvider('Laravel\\\\Sociali...')
#22 /home/tbhaxor/projects/my-project/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(450): Illuminate\\Foundation\\Application->loadDeferredProviders()
#23 /home/tbhaxor/projects/my-project/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(199): Illuminate\\Foundation\\Console\\Kernel->bootstrap()
#24 /home/tbhaxor/projects/my-project/artisan(35): Illuminate\\Foundation\\Console\\Kernel->handle(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput))
#25 {main}

[previous exception] [object] (ReflectionException(code: -1): Class \"SocialiteProviders\\Zitadel\\ZitadelExtendSocialite\" does not exist at /home/tbhaxor/projects/my-project/vendor/laravel/framework/src/Illuminate/Container/Container.php:919)
[stacktrace]
#0 /home/tbhaxor/projects/my-project/vendor/laravel/framework/src/Illuminate/Container/Container.php(919): ReflectionClass->__construct('SocialiteProvid...')
#1 /home/tbhaxor/projects/my-project/vendor/laravel/framework/src/Illuminate/Container/Container.php(799): Illuminate\\Container\\Container->build('SocialiteProvid...')
#2 /home/tbhaxor/projects/my-project/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(963): Illuminate\\Container\\Container->resolve('SocialiteProvid...', Array, true)
#3 /home/tbhaxor/projects/my-project/vendor/laravel/framework/src/Illuminate/Container/Container.php(735): Illuminate\\Foundation\\Application->resolve('SocialiteProvid...', Array)
#4 /home/tbhaxor/projects/my-project/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(948): Illuminate\\Container\\Container->make('SocialiteProvid...', Array)
#5 /home/tbhaxor/projects/my-project/vendor/laravel/framework/src/Illuminate/Events/Dispatcher.php(502): Illuminate\\Foundation\\Application->make('SocialiteProvid...')
#6 /home/tbhaxor/projects/my-project/vendor/laravel/framework/src/Illuminate/Events/Dispatcher.php(476): Illuminate\\Events\\Dispatcher->createClassCallable('SocialiteProvid...')
#7 /home/tbhaxor/projects/my-project/vendor/laravel/framework/src/Illuminate/Events/Dispatcher.php(286): Illuminate\\Events\\Dispatcher->Illuminate\\Events\\{closure}('SocialiteProvid...', Array)
#8 /home/tbhaxor/projects/my-project/vendor/laravel/framework/src/Illuminate/Events/Dispatcher.php(266): Illuminate\\Events\\Dispatcher->invokeListeners('SocialiteProvid...', Array, false)
#9 /home/tbhaxor/projects/my-project/vendor/laravel/framework/src/Illuminate/Foundation/helpers.php(433): Illuminate\\Events\\Dispatcher->dispatch('SocialiteProvid...')
#10 /home/tbhaxor/projects/my-project/vendor/socialiteproviders/manager/src/ServiceProvider.php(21): event(Object(SocialiteProviders\\Manager\\SocialiteWasCalled))
#11 /home/tbhaxor/projects/my-project/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(1064): SocialiteProviders\\Manager\\ServiceProvider->SocialiteProviders\\Manager\\{closure}(Object(Illuminate\\Foundation\\Application))
#12 /home/tbhaxor/projects/my-project/vendor/socialiteproviders/manager/src/ServiceProvider.php(18): Illuminate\\Foundation\\Application->booted(Object(Closure))
#13 /home/tbhaxor/projects/my-project/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(36): SocialiteProviders\\Manager\\ServiceProvider->boot()
#14 /home/tbhaxor/projects/my-project/vendor/laravel/framework/src/Illuminate/Container/Util.php(41): Illuminate\\Container\\BoundMethod::Illuminate\\Container\\{closure}()
#15 /home/tbhaxor/projects/my-project/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(93): Illuminate\\Container\\Util::unwrapIfClosure(Object(Closure))
#16 /home/tbhaxor/projects/my-project/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(35): Illuminate\\Container\\BoundMethod::callBoundMethod(Object(Illuminate\\Foundation\\Application), Array, Object(Closure))
#17 /home/tbhaxor/projects/my-project/vendor/laravel/framework/src/Illuminate/Container/Container.php(664): Illuminate\\Container\\BoundMethod::call(Object(Illuminate\\Foundation\\Application), Array, Array, NULL)
#18 /home/tbhaxor/projects/my-project/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(1036): Illuminate\\Container\\Container->call(Array)
#19 /home/tbhaxor/projects/my-project/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(819): Illuminate\\Foundation\\Application->bootProvider(Object(SocialiteProviders\\Manager\\ServiceProvider))
#20 /home/tbhaxor/projects/my-project/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(928): Illuminate\\Foundation\\Application->register(Object(SocialiteProviders\\Manager\\ServiceProvider))
#21 /home/tbhaxor/projects/my-project/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(908): Illuminate\\Foundation\\Application->registerDeferredProvider('SocialiteProvid...', 'Laravel\\\\Sociali...')
#22 /home/tbhaxor/projects/my-project/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(884): Illuminate\\Foundation\\Application->loadDeferredProvider('Laravel\\\\Sociali...')
#23 /home/tbhaxor/projects/my-project/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(450): Illuminate\\Foundation\\Application->loadDeferredProviders()
#24 /home/tbhaxor/projects/my-project/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(199): Illuminate\\Foundation\\Console\\Kernel->bootstrap()
#25 /home/tbhaxor/projects/my-project/artisan(35): Illuminate\\Foundation\\Console\\Kernel->handle(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput))
#26 {main}
"} 

   Illuminate\Contracts\Container\BindingResolutionException 

  Target class [SocialiteProviders\Zitadel\ZitadelExtendSocialite] does not exist.

  at vendor/laravel/framework/src/Illuminate/Container/Container.php:921
    917▕             //     print_r($concrete);
    918▕             // }
    919▕             $reflector = new ReflectionClass($concrete);
    920▕         } catch (ReflectionException $e) {
  ➜ 921▕             throw new BindingResolutionException("Target class [$concrete] does not exist.", 0, $e);
    922▕         }
    923▕ 
    924▕         // If the type is not instantiable, the developer is attempting to resolve
    925▕         // an abstract type such as an Interface or Abstract Class and there is

      +26 vendor frames 

  27  artisan:35
      Illuminate\Foundation\Console\Kernel::handle(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))

Now, after I removed ZitadelExtendSocialite from EventServiceProvider, and tried instantiating the class in the tinker, it is giving me error.

$ ./artisan tinker       
Psy Shell v0.12.4 (PHP 8.3.21 — cli) by Justin Hileman
> new \SocialiteProviders\Zitadel\ZitadelExtendSocialite

   Error  Class "SocialiteProviders\Zitadel\ZitadelExtendSocialite" not found.

> 

@tbhaxor tbhaxor changed the title Getting BindingResolutionException while working with Zitadel provider Getting BindingResolutionException while working with Zitadel provider in WSL2 Jun 10, 2025
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

2 participants