Github OAuth2 Provider for Laravel Socialite
, (*1)
Install
1. COMPOSER, (*2)
composer require akkyoh/socialite_github
2. SERVICE PROVIDER
- Remove Laravel\Socialite\SocialiteServiceProvider from your providers[] array in config\app.php if you have added it already.
- Add \SocialiteProviders\Manager\ServiceProvider::class to your providers[] array in config\app.php., (*3)
// For example
'providers' => [
// a whole bunch of providers
// remove 'Laravel\Socialite\SocialiteServiceProvider',
\SocialiteProviders\Manager\ServiceProvider::class, // add
];
- If you would like to use the Socialite Facade, you need to install it.
3. ADD THE EVENT AND LISTENERS
- Add SocialiteProviders\Manager\SocialiteWasCalled event to your listen[] array in /Providers/EventServiceProvider.
- Add your listeners (i.e. the ones from the providers) to the SocialiteProviders\Manager\SocialiteWasCalled[] that you just created.
- The listener that you add for this provider is 'Akkyoh\SocialiteGithub\GithubExtendSocialite@handle',.
- Note: You do not need to add anything for the built-in socialite providers unless you override them with your own providers., (*4)
// For example
protected $listen = [
\SocialiteProviders\Manager\SocialiteWasCalled::class => [
// add your listeners (aka providers) here
'Akkyoh\SocialiteGithub\GithubExtendSocialite@handle',
],
];
4. ENVIRONMENT VARIABLES, (*5)
If you add environment values to your .env as exactly shown below, you do not need to add an entry to the services array., (*6)
APPEND PROVIDER VALUES TO YOUR .ENV FILE
// other values above
GITHUB_KEY=yourkeyfortheservice
GITHUB_SECRET=yoursecretfortheservice
GITHUB_REDIRECT_URI=https://example.com/login
ADD TO CONFIG/SERVICES.PHP.
You do not need to add this if you add the values to the .env exactly as shown above. The values below are provided as a convenience in the case that a developer is not able to use the .env method, (*7)
'github' => [
'client_id' => env('GITHUB_KEY'),
'client_secret' => env('GITHUB_SECRET'),
'redirect' => env('GITHUB_REDIRECT_URI'),
],
USAGE
You should now be able to use it like you would regularly use Socialite (assuming you have the facade installed):, (*8)
return Socialite::driver('github') -> redirect();
RESOURCES
Socialite Providers
Laravel Socialite Docs, (*9)