nickbeen / socialiteproviders-google-one-tap

Google One Tap provider for Laravel Socialite
MIT License
1 stars 0 forks source link

Add provider event listener Laravel 11 Not Working #2

Closed Azlan-saja closed 3 months ago

Azlan-saja commented 3 months ago

// app/Providers/EventServiceProvider // Laravel10

protected $listen = [
    \SocialiteProviders\Manager\SocialiteWasCalled::class => [
        // other providers
        \SocialiteProviders\GoogleOneTap\GoogleOneTapExtendSocialite::class,
    ],
];

// App\Providers; // Laravel11 // Not Working // Error : Driver google-one-tap is not registered

public function boot(): void
    {
        Event::listen(function (\SocialiteProviders\Manager\SocialiteWasCalled $event) {
            $event->extendSocialite('google-one-tap', \SocialiteProviders\GoogleOneTap\GoogleOneTapExtendSocialite::class);
            //OR
            //$event->extendSocialite('google-one-tap', \SocialiteProviders\GoogleOneTap\Provider::class);

        });
    }

// So, what is the solution?

nickbeen commented 3 months ago

This should work:

namespace App\Providers;

use Illuminate\Support\Facades\Event;
use Illuminate\Support\ServiceProvider;

class AppServiceProvider extends ServiceProvider
{
    /**
     * Bootstrap any application services.
     */
    public function boot(): void
    {
        Event::listen(function (\SocialiteProviders\Manager\SocialiteWasCalled $event) {
            $event->extendSocialite('google-one-tap', \SocialiteProviders\GoogleOneTap\Provider::class);
        });
    }
}

Also be sure to clear the cache.

php artisan cache:clear