Code Monkey home page Code Monkey logo

laravel-social's Introduction

laravel-social

Latest Version on Packagist Total Downloads Monthly Downloads Daily Downloads Latest Stable Version Software License Build Status Quality Score StyleCI

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
  • Facebook
  • Google
  • Twitter
  • Linkedin

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.

Facebook

The cli wizard will propose you to go to page:

https://developers.facebook.com/apps/

to register new OAuth Application

Google

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 .

Twitter

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.

Linkedin

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 [email protected] instead of using the issue tracker.

Credits

License

The MIT License (MIT). Please see License File for more information.

laravel-social's People

Contributors

acacha avatar alexeydemin avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

laravel-social's Issues

Socialite Manager Error

I was install laravel social look like documentation and i install social media app facebook but if i want to acess its give error message :
"Type error: Argument 1 passed to Laravel\Socialite\SocialiteManager::formatRedirectUrl() must be of the type array, null given, called in

scerror

I used laravel 5.5 latest

Apache version: Apache/2.4.29
PHP version: 7.1.9
MySQL version: 10.1.28-MariaDB

sql error

[Illuminate\Database\QueryException]
SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'json nul
l, created_at timestamp null, updated_at timestamp null) default cha' at line 1 (SQL: create table social_users (id int unsigned not null auto_increment primary key, user_id int unsigned no
t null, social_id varchar(191) not null, social_type varchar(191) not null, nickname varchar(191) null, name varchar(191) null, email varchar(191) not null, avatar varchar(191) null, met a json null, created_at timestamp null, updated_at timestamp null) default character set utf8mb4 collate utf8mb4_unicode_ci)

[Doctrine\DBAL\Driver\PDOException]
SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'json nul
l, created_at timestamp null, updated_at timestamp null) default cha' at line 1

[PDOException]
SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'json nul
l, created_at timestamp null, updated_at timestamp null) default cha' at line 1

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.