PHPackages                             gerulla/xivauth-provider - 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. gerulla/xivauth-provider

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

gerulla/xivauth-provider
========================

XIVAuth OAuth2 Provider for Laravel Socialite

1.0(5mo ago)07MITPHPPHP ^8.0

Since Dec 14Pushed 5mo agoCompare

[ Source](https://github.com/gerulla/xivauth-provider)[ Packagist](https://packagist.org/packages/gerulla/xivauth-provider)[ RSS](/packages/gerulla-xivauth-provider/feed)WikiDiscussions master Synced 1mo ago

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

XIVAuthProvider
===============

[](#xivauthprovider)

```
composer require gerulla/xivauth-provider
```

Installation &amp; Basic Usage
------------------------------

[](#installation--basic-usage)

Please see the [Base Installation Guide](https://socialiteproviders.com/usage/), then follow the provider-specific instructions below.

### Prepare OAuth provider &amp; application in xivauth

[](#prepare-oauth-provider--application-in-xivauth)

Create a new OAuth Client within [XIVAuth](https://xivauth.net/), according to the [XIVAuth Documentation](https://kazwolfe.notion.site/Documentation-128e77f0016c4901888ea1234678c37d)

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

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

```
'xivauth' => [
    'client_id' => env('XIVAUTH_CLIENT_ID'),
    'client_secret' => env('XIVAUTH_CLIENT_SECRET'),
    'redirect' => env('XIVAUTH_REDIRECT_URI'),
]
```

### Add provider event listener

[](#add-provider-event-listener)

#### Laravel 11+

[](#laravel-11)

In Laravel 11, the default `EventServiceProvider` provider was removed. Instead, add the listener using the `listen` method on the `Event` facade, in your `AppServiceProvider` `boot` method.

```
Event::listen(function (\SocialiteProviders\Manager\SocialiteWasCalled $event) {
    $event->extendSocialite('xivauth', \SocialiteProviders\XIVAuth\Provider::class);
});
```

### Laravel 10 and below

[](#laravel-10-and-below)

Not Tested.

### Usage

[](#usage)

Make sure you have the `user` and `refresh` scopes enabled in your XIVAuth OAuth Client these are **required**, you may add additional scopes. Built-in scopes are:

```
//Required
user
refresh
//Optional
user:email
user:social
characters:all
```

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

```
return Socialite::driver('xivauth')->redirect();
```

To redirect to the authentication, and then:

```
$user = Socialite::driver('xivauth')->user()
```

Optionally if you want to add additional scopes you can use the built in scope methods:

```
return Socialite::driver('xivauth')->withCharactersScope()->redirect(); // characters:all
return Socialite::driver('xivauth')->withEmailScope()->redirect(); // user:email
return Socialite::driver('xivauth')->withSocialScope()->redirect(); // user:social
```

Or use the extras method to add multiple scopes:

```
return Socialite::driver('xivauth')->withExtraScopes(['user:email', 'user:social', 'characters:all'])->redirect();
```

In the return function. The user will contain a `name` and `email` field populated from the OAuth source along with a `attributes` object with the following fields:

```
{
  "id": "string",
  // Only if you added user:email scope
  "email": "string",
  "email_verified": "bool",
  // Only if you added user:social scope
  "social_identities": [
    {
      "provider": "string",
      "external_id": "string",
      "name": "string",
      "nickname": "string",
      "email": "string",
      "created_at": "timestamp",
      "updated_at": "timestamp"
    }
  ],
  "mfa_enabled": "bool",
  "verified_characters": "bool",
  "created_at": "timestamp",
  "updated_at": "timestamp",
  // Only if you added characters:all scope
  "characters": [
    {
      "persistent_key": "string",
      "lodestone_id": "string",
      "name": "string",
      "home_world": "string",
      "data_center": "string",
      "avatar_url": "string",
      "portrait_url": "string",
      "created_at": "timestamp",
      "verified_at": "timestamp",
      "updated_at": "timestamp"
    }
  ]
}
```

###  Health Score

32

—

LowBetter than 72% of packages

Maintenance72

Regular maintenance activity

Popularity6

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity39

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% 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

Unknown

Total

1

Last Release

156d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/36a41b9a5180fe13f0f30da83e66ea4951067fa4e3c23e85a45751ef8e3596ad?d=identicon)[gerulla](/maintainers/gerulla)

---

Top Contributors

[![gerulla](https://avatars.githubusercontent.com/u/249335387?v=4)](https://github.com/gerulla "gerulla (5 commits)")

---

Tags

laravelprovideroauthsocialiteXIVAuth

### Embed Badge

![Health badge](/badges/gerulla-xivauth-provider/health.svg)

```
[![Health](https://phpackages.com/badges/gerulla-xivauth-provider/health.svg)](https://phpackages.com/packages/gerulla-xivauth-provider)
```

###  Alternatives

[socialiteproviders/microsoft

Microsoft OAuth2 Provider for Laravel Socialite

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

Instagram OAuth2 Provider for Laravel Socialite

421.9M5](/packages/socialiteproviders-instagram)[kovah/laravel-socialite-oidc

OpenID Connect OAuth2 Provider for Laravel Socialite

2073.7k](/packages/kovah-laravel-socialite-oidc)[socialiteproviders/kakao

Kakao OAuth2 Provider for Laravel Socialite

10484.7k4](/packages/socialiteproviders-kakao)

PHPackages © 2026

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