PHPackages                             datahivedevelopment/hiveidsocialiteprovider - 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. datahivedevelopment/hiveidsocialiteprovider

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

datahivedevelopment/hiveidsocialiteprovider
===========================================

Hive ID OAuth2 Provider for Laravel Socialite

v2.0.0(6y ago)11MITPHPPHP ^7.2

Since May 29Pushed 6y ago1 watchersCompare

[ Source](https://github.com/DataHiveDevelopment/HiveIDSocialiteProvider)[ Packagist](https://packagist.org/packages/datahivedevelopment/hiveidsocialiteprovider)[ RSS](/packages/datahivedevelopment-hiveidsocialiteprovider/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (1)Dependencies (1)Versions (3)Used By (0)

DataHive Development's Hive ID
==============================

[](#datahive-developments-hive-id)

Quick Setup
-----------

[](#quick-setup)

```
composer require datahivedevelopment/hiveidsocialiteprovider
```

### 1. Add to `providers[]` array in `config\app.php`

[](#1-add-to-providers-array-in-configappphp)

```
'providers' => [
    \SocialiteProviders\Manager\ServiceProvider::class,
];
```

### 2. Add Event Listener in `app/Providers/EventServiceProvider`

[](#2-add-event-listener-in-appproviderseventserviceprovider)

```
protected $listen = [
    \SocialiteProviders\Manager\SocialiteWasCalled::class => [
        'DataHiveDevelopment\\HiveIDSocialiteProvider\\HiveIDExtendSocialite@handle',
    ],
];
```

### 3. Add configuration to `config/services.php`

[](#3-add-configuration-to-configservicesphp)

```
'hiveid' => [
    'server' => env('HIVEID_SERVER'), // Optional server parameter
    'client_id' => env('HIVEID_CLIENT_ID'),
    'client_secret' => env('HIVEID_CLIENT_SECRET'),
    'redirect' => env('HIVEID_REDIRECT')
],
```

Step-by-step
------------

[](#step-by-step)

### 1. Installation

[](#1-installation)

```
// This assumes that you have composer installed globally
composer require datahivedevelopment/hiveidsocialiteprovider
```

### 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.](https://github.com/laravel/socialite)

### 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 `'DataHiveDevelopment\\HiveIDSocialiteProvider\\HiveIDExtendSocialite@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
        'DataHiveDevelopment\\HiveIDSocialiteProvider\\HiveIDExtendSocialite@handle',
    ],
];
```

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

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

```
'hiveid' => [
    'server' => env('HIVEID_SERVER'), // Optional server parameter
    'client_id' => env('HIVEID_CLIENT_ID'),
    'client_secret' => env('HIVEID_CLIENT_SECRET'),
    'redirect' => env('HIVEID_REDIRECT')
],
```

#### `Server` configuration value

[](#server-configuration-value)

You can specify an optional `HIVEID_SERVER` in your .env file to override using the production Hive ID authentication system. This is most useful during development and needing to test a modification to Hive ID with another application. The value should be entered in the format of `http://id.test`, note the lack of a trailing `/`. The `/oauth/authorize` and `/oauth/token` endpoints will automatically be appended on the appropriate API calls.

### 5. Usage

[](#5-usage)

- [Laravel docs on configuration](http://laravel.com/docs/master/configuration)
- You should now be able to use it like you would regularly use Socialite (assuming you have the facade installed):

```
return Socialite::with('hiveid')->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.

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('hiveid')->stateless(false)->redirect();

// to use stateless
return Socialite::with('hiveid')->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('hiveid')->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('hiveid')->user();
$accessTokenResponseBody = $user->accessTokenResponseBody;
```

###  Health Score

23

—

LowBetter than 27% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity3

Limited adoption so far

Community4

Small or concentrated contributor base

Maturity55

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

Every ~216 days

Total

2

Last Release

2323d ago

Major Versions

1.0.0 → v2.0.02020-01-01

PHP version history (2 changes)1.0.0PHP &gt;=5.5.9

v2.0.0PHP ^7.2

### Community

Maintainers

![](https://www.gravatar.com/avatar/a5808304ccf8780f4d1ee49f8fb9f5793c2c637b71fb74d2ec1689c242cf38b2?d=identicon)[dhd-dustinschreiber](/maintainers/dhd-dustinschreiber)

### Embed Badge

![Health badge](/badges/datahivedevelopment-hiveidsocialiteprovider/health.svg)

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

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