Awesome
laravel-social
A Laravel 5 package for OAuth Social Login/Register implementation using Laravel socialite and (optionally) AdminLTE Laravel package.
Installation
Using adminlte laravel (recommended option)
Install AdminLTE Laravel package:
composer global require "acacha/adminlte-laravel-installer"
laravel new awesome
cd awesome
adminlte-laravel install
adminlte-laravel social
Then optionally you can boostrap you project in your favourite browser using:
llum boot
Using composer
Use Composer, in you Laravel project:
$ composer require acacha/laravel-social
Add service provider to providers array in your config/app.php file:
Acacha\LaravelSocial\Providers\LaravelSocialServiceProvider::class
And run command:
php artisan make:social
To configure social network providers.
Finally modify your app views to add links to Social Login using link:
http://yourappurl.com/auth/{socialnetwork}
Examples:
http://yourappurl.com/auth/github
http://yourappurl.com/auth/facebook
http://yourappurl.com/auth/google
http://yourappurl.com/auth/twitter
http://yourappurl.com/auth/linkedin
I recommend you to use AdminLTE Laravel Package for a full working Auth scaffolding with Adminlte bootstrap template. See previous section.
You can also use Laravel default Auth scaffolding running command:
php artisan make:auth
And manually add button/links to social Login/Register.
Usage
You can configure Social Providers with command:
php artisan acacha:social
Which social network you wish to configure? [Github]:
[0] Github
[1] Facebook
[2] Google
[3] Twitter
[4] Linkedin
> 0
Configuring social network Github...
Please register a new OAuth app for Github. Go to URL https://github.com/settings/applications/new
Then ask the following questions:
OAuth client id?:
> 3a1fg6ac5437f9f4cebd
OAuth client secret?:
> 5919185e3fb7024e5b10cedce5cce408893224d
OAuth client redirect URL? [http://localhost:8080/auth/github/callback]:
>
File /home/sergi/Code/socialAdminLTEtest/config/services.php updated.
Github added to config/services.php file
Do you wish to configure other social networks? (yes/no) [yes]:
This wizard will adapt your .env
and config/services.php
files to add your social networks OAuth data.
At this moment command php artisan acacha:social
will not check if you have already configured your social network
so be carefull when executing this command in already configured projects (no errors will be thrown but you will have
repeated data in your config files).
Requirements
Please install AdminLTE Laravel:
composer global require "acacha/adminlte-laravel-installer"
This package also requires (all installed using composer):
See also related projects:
Social networks
Laravel social package support by default the following social networks:
- Github
Laravel social use Illuminate\Support\Manager so you can create your own driver and register the driver in LaravelSocialServiceProvider.
Please, if you create a new driver feel free to create a Pull Request.
You can enable/disable social providers easily. See following section.
Enable/disable social providers
At class LaravelSocialServiceProvider
you can modify $enabled
field to change enabled social providers.
Also remember to changes your views to add/remove action/links to social auth.
Also you have to change static variable $socialNetworks
in file ConfigureSocialServicesManager to add your extra social providers.
Github
The cli wizard will propose you to go to page:
https://github.com/settings/applications/new
to register new OAuth Application.
The cli wizard will propose you to go to page:
https://developers.facebook.com/apps/
to register new OAuth Application
The cli wizard will propose you to go to page:
https://console.developers.google.com
to register new OAuth Application. Please remember to active Google+ API!.
More info at https://developers.google.com/identity/sign-in/web/devconsole-project .
The cli wizard will propose you to go to page:
https://apps.twitter.com/app/new
to register new OAuth Application. Retrieve your api keys at tab Keys and Access Tokens
and remember to check Request email addresses from users
checkbox active in Permissions
tab.
The cli wizard will propose you to go to page:
https://www.linkedin.com/secure/developer
to register new OAuth Application.
Change log
Please see CHANGELOG for more information on what has changed recently.
Testing
In your Laravel project execute:
$ phpunit tests/AcachaLaravelSocial.php
Contributing
Please see CONTRIBUTING and CONDUCT for details.
Security
If you discover any security related issues, please email sergiturbadenas@gmail.com instead of using the issue tracker.
Credits
License
The MIT License (MIT). Please see License File for more information.