laravel-socialite-multiple-providers-example
laravel-socialite-multiple-providers-example copied to clipboard
Laravel socialite with multiple providers example
Laravel Socialite with Multiple Providers
An example project that covers login with multiple social providers.
Setup
Follow Laravel installation steps
What has been covered?
- Login/Sign-up with Google and Github, you can add as many as you can.
- Fire
RegisteredEventon new user creation same as defaultRegistratonController. - Create and associate social account when email address already exists.
- Create user if email address does not exists in
userstable.
What has not been covered?
- Storing access token.
- Storing user avatar.
- Providers that does not return
emailaddress for example Facebook. - Allow users to change their email address.
- Allow users to disconnect from their social account.
- Allow logged-in users to connect to their social account.
- Allow users to change their account password without knowing the current, because they have logged-in via socialite.
How to add new provider?
- Add provider name in routes
where()method, for example -twitter
->where('provider', 'google|github|twitter');
- Make room for new credentials in
config/services.php
'twitter' => [
'client_id' => env('TWITTER_OAUTH_CLIENT_ID'),
'client_secret' => env('TWITTER_OAUTH_CLIENT_SECRET'),
'redirect' => env('TWITTER_OAUTH_REDIRECT'),
],
- Update
.env.exampleand.env
# Twitter OAuth
# https://developer.twitter.com
TWITTER_OAUTH_CLIENT_ID=
TWITTER_OAUTH_CLIENT_SECRET=
TWITTER_OAUTH_REDIRECT=${APP_URL}/oauth/github/callback
- That's it. You are done.
License
Same as Laravel, MIT license