PHPackages                             acharsoft/manager - 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. acharsoft/manager

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

acharsoft/manager
=================

Easily add new or override built-in providers in Laravel Socialite.

v3.3.4(7y ago)025MITPHPPHP ^5.6 || ^7.0

Since Feb 19Pushed 7y agoCompare

[ Source](https://github.com/acharsoft/Manager)[ Packagist](https://packagist.org/packages/acharsoft/manager)[ RSS](/packages/acharsoft-manager/feed)WikiDiscussions master Synced 4d ago

READMEChangelogDependencies (3)Versions (52)Used By (0)

Socialite Providers Manager
===========================

[](#socialite-providers-manager)

[![Build Status](https://camo.githubusercontent.com/bea30df6ea43693c5a77261bbff06044b669d5ff17421002dfeca90c4f22cc79/68747470733a2f2f7472617669732d63692e6f72672f536f6369616c69746550726f7669646572732f4d616e616765722e737667)](https://travis-ci.org/SocialiteProviders/Manager)[![Code Coverage](https://camo.githubusercontent.com/98091fc569630c8e147c44376f280c8fb1d57fad901c50f88dbcda9ca0ec6f48/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f536f6369616c69746550726f7669646572732f4d616e616765722f6261646765732f636f7665726167652e706e673f623d6d6173746572)](https://scrutinizer-ci.com/g/SocialiteProviders/Manager/?branch=master)[![Scrutinizer Code Quality](https://camo.githubusercontent.com/5ec1892dac72225aa85c70d55a7bfea7ca5a34256ac767fc4beebfeaefb8f6c0/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f536f6369616c69746550726f7669646572732f4d616e616765722f6261646765732f7175616c6974792d73636f72652e706e673f623d6d6173746572)](https://scrutinizer-ci.com/g/SocialiteProviders/Manager/?branch=master)[![Latest Stable Version](https://camo.githubusercontent.com/ed1f97c955b58ce7913217102bcdd82791ea3c28cc7fdca448c69eb8ed6db165/68747470733a2f2f706f7365722e707567782e6f72672f736f6369616c69746570726f7669646572732f6d616e616765722f762f737461626c652e737667)](https://packagist.org/packages/socialiteproviders/manager)[![Total Downloads](https://camo.githubusercontent.com/8234e7570a9dfe78203a7e74ef7dd2833f69edc0e18fa96dc36f7bc96198633e/68747470733a2f2f706f7365722e707567782e6f72672f736f6369616c69746570726f7669646572732f6d616e616765722f646f776e6c6f6164732e737667)](https://packagist.org/packages/socialiteproviders/manager)[![Latest Unstable Version](https://camo.githubusercontent.com/9f5a79bc03d3209e0dfbc98a2097f6f076dce116119d1702e51d1604b97568f5/68747470733a2f2f706f7365722e707567782e6f72672f736f6369616c69746570726f7669646572732f6d616e616765722f762f756e737461626c652e737667)](https://packagist.org/packages/socialiteproviders/manager)[![License](https://camo.githubusercontent.com/ea6f9ac045da4e067c4daa11bc6558441c7347b9d2d14485ee80d4caf9466b9e/68747470733a2f2f706f7365722e707567782e6f72672f736f6369616c69746570726f7669646572732f6d616e616765722f6c6963656e73652e737667)](https://packagist.org/packages/socialiteproviders/manager)[![Stories in Ready](https://camo.githubusercontent.com/80e07bfabf3ddec1a259637b09319aadf62c5e49ee8044805a8fa6b1e274bc6f/68747470733a2f2f62616467652e776166666c652e696f2f536f6369616c69746550726f7669646572732f4d616e616765722e706e673f6c6162656c3d7265616479267469746c653d5265616479)](http://waffle.io/SocialiteProviders/Manager)[![SensioLabsInsight](https://camo.githubusercontent.com/e7feb8129aa87daecd1fd1d89ff377ed1a20de1299ffa4e323fa6ebc3d517131/68747470733a2f2f696e73696768742e73656e73696f6c6162732e636f6d2f70726f6a656374732f64646232663064662d366438352d343331632d386536382d3631363462303864643835322f736d616c6c2e706e67)](https://insight.sensiolabs.com/projects/ddb2f0df-6d85-431c-8e68-6164b08dd852)

About
-----

[](#about)

A package for Laravel Socialite that allows you to easily add new providers or override current providers.

### Benefits

[](#benefits)

- You will have access to all of the providers that you load in using the manager.
- Instantiation is deferred until Socialite is called
- You can override current providers
- You can create new providers
- Lumen usage is easy
- `stateless()` can be set to `true` or `false`
- You can override a config dynamically
- It retrieves environment variables directly from the `.env` file instead of also having to configure the services array.

Available Providers
-------------------

[](#available-providers)

- See the [SocialiteProviders](http://socialiteproviders.github.io/) list
- You can also make your own or modify someone else's

Reference
---------

[](#reference)

- [Laravel docs about events](http://laravel.com/docs/5.0/events)
- [Laracasts video on events in Laravel 5](https://laracasts.com/lessons/laravel-5-events)
- [Laravel Socialite Docs](https://github.com/laravel/socialite)
- [Laracasts Socialite video](https://laracasts.com/series/whats-new-in-laravel-5/episodes/9)

Creating a Handler
------------------

[](#creating-a-handler)

Below is an example handler. You need to add this full class name to the `listen[]` in the `EventServiceProvider`.

- [See also the Laravel docs about events](http://laravel.com/docs/5.0/events).
- `providername` is the name of the provider such as `meetup`.
- You will need to change your the namespacing and class names of course.

```
namespace Your\Name\Space;

use SocialiteProviders\Manager\SocialiteWasCalled;

class ProviderNameExtendSocialite
{
    public function handle(SocialiteWasCalled $socialiteWasCalled)
    {
        $socialiteWasCalled->extendSocialite('providername', \Your\Name\Space\Provider::class);
    }
}
```

Creating a Provider
-------------------

[](#creating-a-provider)

- Look at the already created [providers](http://socialiteproviders.github.io/) for inspiration.
- [See this article on Medium](https://medium.com/@morrislaptop/adding-auth-providers-to-laravel-socialite-ca0335929e42)

Overriding a Built-in Provider
------------------------------

[](#overriding-a-built-in-provider)

You can easily override a built-in `laravel/socialite` provider by creating a new one with exactly the same name (i.e. 'facebook').

Dynamically Passing a Config
----------------------------

[](#dynamically-passing-a-config)

You can dynamically pass a config by using:

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

**You must call this before you run any Socialite methods.**

Creating an OAuth1 Server Class
-------------------------------

[](#creating-an-oauth1-server-class)

Take a look at the other [OAuth1 providers](http://socialiteproviders.github.io/) for inspiration.

Getting the Access Token Response Body
--------------------------------------

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

To make this possible, the OAuth2 provider class needs to extend `\SocialiteProviders\Manager\OAuth2\AbstractProvider` and OAuth1 providers need to utilize the `\SocialiteProviders\Manager\OAuth1\AbstractProvider` and `\SocialiteProviders\Manager\OAuth1\Server`.

You can access it from the user object like so: `$user->accessTokenResponseBody`

###  Health Score

31

—

LowBetter than 68% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity6

Limited adoption so far

Community19

Small or concentrated contributor base

Maturity71

Established project with proven stability

 Bus Factor1

Top contributor holds 58.1% of commits — single point of failure

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

Every ~28 days

Recently: every ~120 days

Total

51

Last Release

2676d ago

Major Versions

0.1.9 → 2.0.x-dev2015-05-03

0.1.10 → 1.0.02015-06-18

1.2.4 → v2.0.02016-03-29

v2.2.1 → v3.0.02017-01-25

PHP version history (3 changes)0.1PHP &gt;=5.4.0

1.0.0PHP &gt;=5.5.0

v2.0.0PHP ^5.6 || ^7.0

### Community

Maintainers

![](https://www.gravatar.com/avatar/8a52197d5890ae2922a5703e2babed68c398a99eaabcb250e6f603ca92b1c9c2?d=identicon)[acharsoft](/maintainers/acharsoft)

---

Top Contributors

[![AndyWendt](https://avatars.githubusercontent.com/u/6130713?v=4)](https://github.com/AndyWendt "AndyWendt (90 commits)")[![faustbrian](https://avatars.githubusercontent.com/u/22145591?v=4)](https://github.com/faustbrian "faustbrian (31 commits)")[![antonkomarev](https://avatars.githubusercontent.com/u/1849174?v=4)](https://github.com/antonkomarev "antonkomarev (4 commits)")[![draperstudio](https://avatars.githubusercontent.com/u/257012927?v=4)](https://github.com/draperstudio "draperstudio (2 commits)")[![sander3](https://avatars.githubusercontent.com/u/15908302?v=4)](https://github.com/sander3 "sander3 (2 commits)")[![seanmangar](https://avatars.githubusercontent.com/u/6080053?v=4)](https://github.com/seanmangar "seanmangar (2 commits)")[![acharsoft](https://avatars.githubusercontent.com/u/40474645?v=4)](https://github.com/acharsoft "acharsoft (2 commits)")[![pilot911](https://avatars.githubusercontent.com/u/4451709?v=4)](https://github.com/pilot911 "pilot911 (2 commits)")[![lucasmichot](https://avatars.githubusercontent.com/u/513603?v=4)](https://github.com/lucasmichot "lucasmichot (2 commits)")[![kphrx](https://avatars.githubusercontent.com/u/13777426?v=4)](https://github.com/kphrx "kphrx (1 commits)")[![litvinchuk](https://avatars.githubusercontent.com/u/3016592?v=4)](https://github.com/litvinchuk "litvinchuk (1 commits)")[![lukepolo](https://avatars.githubusercontent.com/u/2066668?v=4)](https://github.com/lukepolo "lukepolo (1 commits)")[![m1guelpf](https://avatars.githubusercontent.com/u/23558090?v=4)](https://github.com/m1guelpf "m1guelpf (1 commits)")[![mikemclin](https://avatars.githubusercontent.com/u/1570155?v=4)](https://github.com/mikemclin "mikemclin (1 commits)")[![morloderex](https://avatars.githubusercontent.com/u/5677808?v=4)](https://github.com/morloderex "morloderex (1 commits)")[![ronnievisser](https://avatars.githubusercontent.com/u/1931199?v=4)](https://github.com/ronnievisser "ronnievisser (1 commits)")[![r-takky](https://avatars.githubusercontent.com/u/32858385?v=4)](https://github.com/r-takky "r-takky (1 commits)")[![slava-vishnyakov](https://avatars.githubusercontent.com/u/817931?v=4)](https://github.com/slava-vishnyakov "slava-vishnyakov (1 commits)")[![x-yuri](https://avatars.githubusercontent.com/u/730588?v=4)](https://github.com/x-yuri "x-yuri (1 commits)")[![apollopy](https://avatars.githubusercontent.com/u/2421282?v=4)](https://github.com/apollopy "apollopy (1 commits)")

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/acharsoft-manager/health.svg)

```
[![Health](https://phpackages.com/badges/acharsoft-manager/health.svg)](https://phpackages.com/packages/acharsoft-manager)
```

###  Alternatives

[socialiteproviders/manager

Easily add new or override built-in providers in Laravel Socialite.

42442.0M544](/packages/socialiteproviders-manager)[dutchcodingcompany/filament-socialite

Social login for Filament through Laravel Socialite

213914.9k9](/packages/dutchcodingcompany-filament-socialite)[andrewdwallo/filament-companies

A comprehensive Laravel authentication and authorization system designed for Filament, focusing on multi-tenant company management.

34450.0k2](/packages/andrewdwallo-filament-companies)[devdojo/auth

The auth package to make authentication in your laravel applications easy to use.

61979.4k2](/packages/devdojo-auth)[genealabs/laravel-socialiter

Automatically manage user persistence and resolution for any Laravel Socialite provider.

133403.3k](/packages/genealabs-laravel-socialiter)[chrisreedio/socialment

Provides Socialite functionality for Filament.

10884.8k1](/packages/chrisreedio-socialment)

PHPackages © 2026

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