PHPackages                             rob-lester-jr04/outreach - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Authentication &amp; Authorization](/categories/authentication)
4. /
5. rob-lester-jr04/outreach

ActiveLibrary[Authentication &amp; Authorization](/categories/authentication)

rob-lester-jr04/outreach
========================

Outreach.io OAuth2 Provider for Laravel Socialite

1.0(6y ago)0161MITPHPPHP ^5.6 || ^7.0

Since Mar 10Pushed 6y ago1 watchersCompare

[ Source](https://github.com/roblesterjr04/Outreach)[ Packagist](https://packagist.org/packages/rob-lester-jr04/outreach)[ RSS](/packages/rob-lester-jr04-outreach/feed)WikiDiscussions master Synced 2d ago

READMEChangelogDependencies (1)Versions (2)Used By (0)

Socialite - Outreach driver
===========================

[](#socialite---outreach-driver)

1. Installation
---------------

[](#1-installation)

```
// This assumes that you have composer installed globally
composer require socialiteproviders/spotify

```

2. Service Provider
-------------------

[](#2-service-provider)

Remove `Laravel\Socialite\SocialiteServiceProvider` from your `providers[]` array in `config\app.php` if you have added it already.

Add `\SocialiteProviders\Manager\ServiceProvider::class` to your `providers[]` array in `config\app.php`.

For example:

```
'providers' => [
    // a whole bunch of 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.

3. Event Listener
-----------------

[](#3-event-listener)

Add `SocialiteProviders\Manager\SocialiteWasCalled` event to your `listen[]` array in `app/Providers/EventServiceProvider`.

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

The listener that you add for this provider is `'SocialiteProviders\\Outreach\\OutreachExtendSocialite@handle',`.

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

For example:

```
/**
 * The event handler mappings for the application.
 *
 * @var array
 */
protected $listen = [
    \SocialiteProviders\Manager\SocialiteWasCalled::class => [
        // add your listeners (aka providers) here
        'SocialiteProviders\\Outreach\\OutreachExtendSocialite@handle',
    ],
];
```

4. Configuration setup
----------------------

[](#4-configuration-setup)

You will need to add an entry to the services configuration file so that after config files are cached for usage in production environment (Laravel command artisan config:cache) all config is still available.

### Add to config/services.php.

[](#add-to-configservicesphp)

```
'spotify' => [
    'client_id' => env('OUTREACH_KEY'),
    'client_secret' => env('OUTREACH_SECRET'),
    'redirect' => env('OUTREACH_REDIRECT_URI')
],
```

5. Usage
--------

[](#5-usage)

Laravel docs on configuration

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

```
return Socialite::with('spotify')->redirect();
```

### Lumen Support

[](#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.

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

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).

### Stateless

[](#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.

```
// to turn off stateless
return Socialite::with('spotify')->stateless(false)->redirect();

// to use stateless
return Socialite::with('spotify')->stateless()->redirect();
```

### Overriding a config

[](#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:

```
$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('spotify')->setConfig($config)->redirect();
```

Retrieving the Access Token Response Body
-----------------------------------------

[](#retrieving-the-access-token-response-body)

Laravel Socialite by default only allows access to the access\_token. Which can be accessed via the `\Laravel\Socialite\User->token` public property. Sometimes you need access to the whole response body which may contain items such as a refresh\_token.

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

```
$user = Socialite::driver('spotify')->user();
$accessTokenResponseBody = $user->accessTokenResponseBody;
```

\##Reference

[Laravel Socialite Docs](https://github.com/laravel/socialite)
[Laracasts Socialite video](https://laracasts.com/series/whats-new-in-laravel-5/episodes/9)

###  Health Score

23

—

LowBetter than 27% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity7

Limited adoption so far

Community5

Small or concentrated contributor base

Maturity51

Maturing project, gaining track record

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

2255d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/37a376a6bb4b688512897fd2afdef71c99a37529f1b3002d43d699843eb9cbc7?d=identicon)[roblesterjr04](/maintainers/roblesterjr04)

### Embed Badge

![Health badge](/badges/rob-lester-jr04-outreach/health.svg)

```
[![Health](https://phpackages.com/badges/rob-lester-jr04-outreach/health.svg)](https://phpackages.com/packages/rob-lester-jr04-outreach)
```

###  Alternatives

[socialiteproviders/microsoft

Microsoft OAuth2 Provider for Laravel Socialite

326.1M13](/packages/socialiteproviders-microsoft)[socialiteproviders/apple

Apple OAuth2 Provider for Laravel Socialite

618.4M8](/packages/socialiteproviders-apple)[socialiteproviders/instagram

Instagram OAuth2 Provider for Laravel Socialite

421.9M5](/packages/socialiteproviders-instagram)[socialiteproviders/microsoft-azure

Microsoft Azure OAuth2 Provider for Laravel Socialite

556.0M19](/packages/socialiteproviders-microsoft-azure)[socialiteproviders/laravelpassport

LaravelPassport OAuth2 Provider for Laravel Socialite

621.3M7](/packages/socialiteproviders-laravelpassport)[socialiteproviders/discord

Discord OAuth2 Provider for Laravel Socialite

422.0M17](/packages/socialiteproviders-discord)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
