Giter Site home page Giter Site logo

oauth2-social-login's Introduction

Oauth2 Social Login Package for Laravel 4

This package is very easy to integrate with any project that needs to login with and oauth2 client.

It implements the oauth flow:

  • Log in with a social provider
  • Connect an existing user record with a social provider
  • Perform requests against the social provider API with each user's unique access token

Supported Services

At this time is only implemented facebook provider.

Installation Via Composer

Add this to your composer.json file, in the require object:

"phantom/oauth2-social-login": "^0.0.2"

After that, run composer install to install the package.

Add the service provider to app/config/app.php, within the providers array.

'providers' => array(
	// ...
	'Phantom\Oauth2SocialLogin\Oauth2SocialLoginServiceProvider',
)

Configuration

Publish the default config file to your application so you can make modifications.

$ php artisan config:publish phantom/oauth2-social-login

Add your service provider credentials to the published config file: app/config/packages/phantom/oauth2-social-login/facebook.php

Basic Usage

You may put a link on a view that redirect the user to the oAuth log in page for a provider.

<a href="{{ {{Facebook::getLoginUrl()}} }}">
	Connect Your Facebook Account
</a>

On the controller that parse the redirect uri you defined on config request the token to the provider.

$code = Input::get('code');
$token = Facebook::getToken($code);

Once you have the token, you may do any call to the provider api you want. For instance there is a simple function to request the user own profile data.

$user = Facebook::getUserInfo($token);

Error Handling

You may use try catch control to catch if something goes wrong

	try{}catch(Exception $exp){
		switch($exp->getCode()){
			case 401: //The provider did not provide you and access token
				break;
			case 415: //The response with user info have bad formatted data
				break;
			default: //There was a problem connecting to provider
		}
	}

Requirements

This implementation assumes that you want to allow your users to log in or sign up seamlessly with their existing social provider account and associate that social provider account with an existing user record.

Social Login Flow

  • Simply create a link to the redirect login generated url. The user will be redirected to the provider login page before they return to your website.

  • If an existing user is already linked to the provider account do the log in as that user.

  • If an existing user is not found for the provider account, a new user record must be created and then a link to the provider account must be made before he is logged in as that user.

  • You can also associate a social provider account to an existing user if they are already logged in.

oauth2-social-login's People

Contributors

flph avatar

Watchers

James Cloos avatar

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.