PHPackages                             tkhamez/eve-sso - 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. tkhamez/eve-sso

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

tkhamez/eve-sso
===============

Library supporting EVE Online SSO

6.0.0(1y ago)54.7k↑1536.4%2MITPHPPHP ^8.1CI passing

Since Jun 22Pushed 5mo ago1 watchersCompare

[ Source](https://github.com/tkhamez/eve-sso-php)[ Packagist](https://packagist.org/packages/tkhamez/eve-sso)[ RSS](/packages/tkhamez-eve-sso/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependencies (6)Versions (12)Used By (0)

[![Latest Stable Version](https://camo.githubusercontent.com/f302fa2519771e4e8ad9fce94d267872c7d7b4dcbe3bea77811ed8bab1d425af/687474703a2f2f706f7365722e707567782e6f72672f746b68616d657a2f6576652d73736f2f76)](https://packagist.org/packages/tkhamez/eve-sso)[![Total Downloads](https://camo.githubusercontent.com/d9660b2db27bcaff91f2508280fc5c14989174408197fc08ed6d897b33da50cd/687474703a2f2f706f7365722e707567782e6f72672f746b68616d657a2f6576652d73736f2f646f776e6c6f616473)](https://packagist.org/packages/tkhamez/eve-sso)[![License](https://camo.githubusercontent.com/6e07d08549be339878bc6847af2201471457d371fa12ef576a38c8b4d5ab8153/687474703a2f2f706f7365722e707567782e6f72672f746b68616d657a2f6576652d73736f2f6c6963656e7365)](https://packagist.org/packages/tkhamez/eve-sso)[![PHP Version Require](https://camo.githubusercontent.com/8a37d224e050c0cf53c6c4f4a05ab60cc74169c6c3c4e5893d8bff7f913dd026/687474703a2f2f706f7365722e707567782e6f72672f746b68616d657a2f6576652d73736f2f726571756972652f706870)](https://packagist.org/packages/tkhamez/eve-sso)[![build](https://github.com/tkhamez/eve-sso-php/workflows/test/badge.svg)](https://github.com/tkhamez/eve-sso-php/actions)

EVE SSO for PHP
===============

[](#eve-sso-for-php)

A PHP library supporting [EVE Online SSO v2](https://developers.eveonline.com/docs/services/sso/)for web applications including JWT signature verification.

Install
-------

[](#install)

To install the library via [Composer](http://getcomposer.org/), execute:

```
composer require tkhamez/eve-sso
```

Example Usage
-------------

[](#example-usage)

These examples do not include error handling. Most methods throw exceptions which should be caught.

```
// Initiate the provider object.
$provider = new Eve\Sso\AuthenticationProvider(
    [
        // Required.
        'clientId'       => 'your-EVE-app-client-ID',
        'clientSecret'   => 'your-EVE-app-secret-key',
        'redirectUri'    => 'https://your-callback.url',

        // Optional. If you do not provide all URLs, a request will be made
        // to the metadata URL to get them.
        'urlAuthorize'   => 'https://login.eveonline.com/v2/oauth/authorize',
        'urlAccessToken' => 'https://login.eveonline.com/v2/oauth/token',
        'urlRevoke'      => 'https://login.eveonline.com/v2/oauth/revoke',
        'urlKeySet'      => 'https://login.eveonline.com/oauth/jwks',
        'issuer'         => 'https://login.eveonline.com',
        'urlMetadata'    => 'https://login.eveonline.com/.well-known/oauth-authorization-server',
    ],

    // Optionally, add all required scopes.
    ['esi-mail.read_mail.v1', 'esi-skills.read_skills.v1'],

    // Optionally, use your own HTTP client.
    httpClient: new GuzzleHttp\Client(),

    // Optionally add a logger to log exceptions that are caught from libraries
    // (any class implementing Psr\Log\LoggerInterface, the example uses monolog/monolog
    // which is not included in this package).
    logger: new Monolog\Logger('SSO', [new Monolog\Handler\StreamHandler('/path/to/logfile')])
);

// Optionally disable signature verification.
$provider->setSignatureVerification(false);
```

```
// Login URL
session_start();
$_SESSION['state'] = $provider->generateState();
$loginUrl = $provider->buildLoginUrl($_SESSION['state']);
header("Location: $loginUrl");
```

```
// Callback URL
session_start();
$eveAuthentication = $provider->validateAuthenticationV2(
    $_GET['state'] ?? '',
    $_SESSION['state'] ?? '',
    $_GET['code'] ?? '',
);
unset($_SESSION['state']);

$characterId = $eveAuthentication->getCharacterId();
$refreshToken = $eveAuthentication->getToken()->getRefreshToken();
$accessToken = $eveAuthentication->getToken()->getToken();
$expires = $eveAuthentication->getToken()->getExpires();
// ... store the token data somewhere together with the character ID.
```

```
// Refreshes access token, if necessary.
$existingToken = new League\OAuth2\Client\Token\AccessToken([
    'refresh_token' => $refreshToken,
    'access_token' => $accessToken,
    'expires' => $expires,
]);
$validToken = $provider->refreshAccessToken($existingToken);
```

Development Environment
-----------------------

[](#development-environment)

```
docker build --tag eve-sso .
docker run -it --mount type=bind,source="$(pwd)",target=/app --workdir /app eve-sso /bin/sh
```

###  Health Score

46

—

FairBetter than 93% of packages

Maintenance61

Regular maintenance activity

Popularity26

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity70

Established project with proven stability

 Bus Factor1

Top contributor holds 92.5% 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 ~178 days

Recently: every ~156 days

Total

11

Last Release

369d ago

Major Versions

1.0.0 → 2.0.02020-10-16

2.0.2 → 3.0.02021-10-17

3.0.0 → 4.0.02023-05-28

4.1.1 → 5.0.02024-01-26

5.1.0 → 6.0.02025-05-08

PHP version history (5 changes)1.0.0PHP ^7.2

2.0.0PHP ^7.3

2.0.2PHP ^7.3|^8.0

4.0.0PHP ^8.0

5.0.0PHP ^8.1

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/34757257?v=4)[Tian Khamez](/maintainers/tkhamez)[@tkhamez](https://github.com/tkhamez)

---

Top Contributors

[![tkhamez](https://avatars.githubusercontent.com/u/34757257?v=4)](https://github.com/tkhamez "tkhamez (99 commits)")[![kitsunet](https://avatars.githubusercontent.com/u/324408?v=4)](https://github.com/kitsunet "kitsunet (8 commits)")

---

Tags

authenticationeve-onlineoauth2phpsso

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/tkhamez-eve-sso/health.svg)

```
[![Health](https://phpackages.com/badges/tkhamez-eve-sso/health.svg)](https://phpackages.com/packages/tkhamez-eve-sso)
```

###  Alternatives

[google/auth

Google Auth Library for PHP

1.4k272.7M162](/packages/google-auth)[civicrm/civicrm-core

Open source constituent relationship management for non-profits, NGOs and advocacy organizations.

728272.9k20](/packages/civicrm-civicrm-core)[tempest/framework

The PHP framework that gets out of your way.

2.1k23.1k9](/packages/tempest-framework)[heptacom/shopware-platform-admin-open-auth

Shopware plugin to allow OAuth providers to provide admin logins

35133.7k](/packages/heptacom-shopware-platform-admin-open-auth)[simplesamlphp/simplesamlphp-module-oidc

A SimpleSAMLphp module adding support for the OpenID Connect protocol

5016.9k1](/packages/simplesamlphp-simplesamlphp-module-oidc)[aedart/athenaeum

Athenaeum is a mono repository; a collection of various PHP packages

255.2k](/packages/aedart-athenaeum)

PHPackages © 2026

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