2017 © Pedro PelĂĄez
 

library msgraph

Microsoft Graph Provider for Laravel Socialite

image

knox/msgraph

Microsoft Graph Provider for Laravel Socialite

  • Thursday, October 6, 2016
  • by knox
  • Repository
  • 1 Watchers
  • 2 Stars
  • 10 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 5 Versions
  • 25 % Grown

The README.md

Microsoft Graph OAuth2 Provider for Laravel Socialite

Inspired by https://github.com/SocialiteProviders/Microsoft-Azure, (*1)

Documentation

INSTALLATION

1. COMPOSER

This assumes that you have composer installed globally, (*2)

composer require knox2/msgraph, (*3)

2. SERVICE PROVIDER

Remove Laravel\Socialite\SocialiteServiceProvider from your providers[] array in config\app.php if you have added it already., (*4)

Add \SocialiteProviders\Manager\ServiceProvider::class to your providers[] array in config\app.php., (*5)

For example:, (*6)

'providers' => [
    // remove 'Laravel\Socialite\SocialiteServiceProvider',
    \SocialiteProviders\Manager\ServiceProvider::class, // add
];

Note: If you would like to use the Socialite Facade, you need to install it., (*7)

3. ADD THE EVENT AND LISTENERS

Add SocialiteProviders\Manager\SocialiteWasCalled event to your listen[] array in /Providers/EventServiceProvider., (*8)

Add your listeners (i.e. the ones from the providers) to the SocialiteProviders\Manager\SocialiteWasCalled[] that you just created., (*9)

The listener that you add for this provider is, (*10)

'Knox\MSGraph\MSGraphExtendSocialite@handle'

Note: You do not need to add anything for the built-in socialite providers unless you override them with your own providers., (*11)

For example:, (*12)

/**
 * The event handler mappings for the application.
 *
 * @var array
 */
protected $listen = [
    \SocialiteProviders\Manager\SocialiteWasCalled::class => [
        'Knox\MSGraph\MSGraphExtendSocialite@handle',
    ],
];

4. ENVIRONMENT VARIABLES

add environment values to your .env, (*13)

// other values above
MSGRAPH_KEY=yourkeyfortheservice
MSGRAPH_SECRET=yoursecretfortheservice
MSGRAPH_REDIRECT_URI=https://example.com/login   

add to config/services.php, (*14)


'msgraph' => [ 'client_id' => env('MSGRAPH_KEY'), 'client_secret' => env('MSGRAPH_SECRET'), 'redirect' => env('MSGRAPH_REDIRECT_URI'), ],

REFERENCE

USAGE

You should now be able to use it like you would regularly use Socialite (assuming you have the facade installed):, (*15)

return Socialite::with('msgraph')->redirect();

LUMEN SUPPORT

You can use Socialite providers with Lumen. Just make sure that you have facade support turned on and that you follow the setup directions properly., (*16)

Note: If you are using this with Lumen, all providers will automatically be stateless since Lumen does not keep track of state., (*17)

Also, configs cannot be parsed from the services[] in Lumen. You can only set the values in the .env file as shown exactly in this document. If needed, you can also override a config (shown below)., (*18)

STATELESS

You can set whether or not you want to use the provider as stateless. Remember that the OAuth provider (Twitter, Tumblr, etc) must support whatever option you choose. Note: If you are using this with Lumen, all providers will automatically be stateless since Lumen does not keep track of state., (*19)

to turn off stateless, (*20)

return Socialite::with('msgraph')->stateless(false)->redirect();

to use stateless, (*21)

return Socialite::with('msgraph')->stateless()->redirect();

OVERRIDING A CONFIG

If you need to override the provider’s environment or config variables dynamically anywhere in your application, you may use the following:, (*22)


$clientId = "secret"; $clientSecret = "secret"; $redirectUrl = "http://yourdomain.com/api/redirect"; $additionalProviderConfig = ['site' => 'meta.stackoverflow.com']; $config = new \SocialiteProviders\Manager\Config($clientId, $clientSecret, $redirectUrl, $additionalProviderConfig); return Socialite::with('msgraph')->setConfig($config)->redirect();

RETRIEVING THE ACCESS TOKEN RESPONSE BODY

Laravel Socialite by default only allows access to the access_token. Which can be accessed via the, (*23)

\Laravel\Socialite\User->token, (*24)

public property. Sometimes you need access to the whole response body which may contain items such as a refresh_token., (*25)

You can get the access token response body, after you called the user() method in Socialite, by accessing the property $user->accessTokenResponseBody, (*26)

$user = Socialite::driver('msgraph')->user();

$accessTokenResponseBody = $user->accessTokenResponseBody;

The Versions

06/10 2016

dev-master

9999999-dev

Microsoft Graph Provider for Laravel Socialite

  Sources   Download

MIT

The Requires

 

by Timothy Radier

06/10 2016

v1.2

1.2.0.0

Microsoft Graph Provider for Laravel Socialite

  Sources   Download

MIT

The Requires

 

by Timothy Radier

05/10 2016

v1.1.1

1.1.1.0

Microsoft Graph Provider for Laravel Socialite

  Sources   Download

MIT

The Requires

 

by Timothy Radier

05/10 2016

v1.1

1.1.0.0

Microsoft Graph Provider for Laravel Socialite

  Sources   Download

MIT

The Requires

 

by Timothy Radier

05/10 2016

v1.0

1.0.0.0

Microsoft Graph Provider for Laravel Socialite

  Sources   Download

MIT

The Requires

 

by Timothy Radier