PHPackages                             ilimurzin/esia - 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. ilimurzin/esia

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

ilimurzin/esia
==============

Пакет для входа через Госуслуги

4.0.1(6mo ago)131.7k[1 issues](https://github.com/ilimurzin/esia/issues)MITPHPPHP ^8.2CI passing

Since Jul 17Pushed 6mo ago1 watchersCompare

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

READMEChangelogDependencies (11)Versions (15)Used By (0)

esia
====

[](#esia)

[![Workflow status](https://github.com/ilimurzin/esia/actions/workflows/check.yml/badge.svg)](https://github.com/ilimurzin/esia/actions/workflows/check.yml)

Пакет для [входа через Госуслуги](https://partners.gosuslugi.ru/catalog/esia).

Поддерживается в двух версиях: 3.x и 4.x. Пакет версии 3.x обратно совместим с [fr05t1k/esia](https://github.com/fr05t1k/esia) 2.4. Пакет версии 4.x несовместим с предыдущими версиями, но поддерживает новые эндпоинты ЕСИА: v2/ac и v3/te.

Для работы пакета понадобится КриптоПро или OpenSSL с поддержкой ГОСТ.

Пакет [нельзя](https://habr.com/ru/articles/888000/) использовать для новых систем из-за [изменений в регламенте](https://t.me/esiainfo/4) ЕСИА. Информационные системы, уже подключенные к ЕСИА, могут использовать пакет [до 31 декабря 2026 года](https://digital.gov.ru/documents/reglament-informaczionnogo-vzaimodejstviya-esia). Новые системы могут использовать типовые технические решения, указанные в [методических рекомендациях](https://digital.gov.ru/documents/metodicheskie-rekomendaczii-po-ispolzovaniyu-esia).

4.x
---

[](#4x)

### Установка

[](#установка)

```
composer require ilimurzin/esia
```

### Использование

[](#использование)

Пакет использует модель контроля на основе делегированного принятия решения. Подробнее в [методических рекомендациях](https://digital.gov.ru/documents/metodicheskie-rekomendaczii-po-ispolzovaniyu-esia).

```
$config = new \Esia\Config(
    clientId: 'FJ-VOLGA',
    clientCertificateHash: 'CD6EA35843FDE0212F301509EDD5B51BA7C954782FA4DE0608550A7FB35D80EE',
    redirectUrl: 'http://localhost/response.php',
    portalUrl: 'https://esia-portal1.test.gosuslugi.ru/',
    scopes: ['fullname', 'email'],
);

$esia = new \Esia\Esia(
    $config,
    new \Esia\Signer\CliCryptoProSigner(
        'HDIMAGE\\\\3f452f01.000\\241C',
        '1234567890',
        '/opt/cprocsp/bin/csptest'
    )
);

// state нужно сгенерировать и сохранить в сессию
$state = '7648d7bd-6369-4073-b545-90250f68025e';

$url = $esia->buildUrl($state);

// Пользователь переходит по url

// После авторизации ЕСИА возвращает пользователя на redirectUrl с параметрами code и state
// state нужно сравнить со значением, сохраненным в сессию

// Получение маркера доступа в обмен на авторизационный код
$token = $esia->getToken($code);

// Пакет предоставляет только методы для получения маркера доступа.
// Запрос за данными пользователя при необходимости можно сформировать самостоятельно.
// Полученный маркер доступа передается в запросы за данными в заголовке Authorization, пример:
// $request->withHeader('Authorization', 'Bearer ' . $token->accessToken);

// Для запроса за данными пользователя также потребуется oid
$oid = $token->getOid();

// Получение нового маркера доступа в обмен на маркер обновления
$token = $esia->refreshToken($token->refreshToken);
```

### Отличия от 2.4

[](#отличия-от-24)

1. Поддержка новых эндпоинтов ЕСИА: v2/ac и v3/te.
2. Все объекты иммутабельные, метод получения токена возвращает объект со всеми данными, а не только маркер доступа.
3. Обязательная передача стейта в метод формирования ссылки и возможность передать дополнительные параметры (например, person\_filter).
4. Сигнеры КриптоПро: через приложение командной строки `csptest` или через [расширение для PHP](https://github.com/CryptoPro/phpcades).
5. Отсутствуют методы для получения данных пользователя.
6. Метод для получения маркера доступа в обмен на маркер обновления.

3.x
---

[](#3x)

### Отличия от 2.4

[](#отличия-от-24-1)

1. Возможность передать стейт и дополнительные параметры (например, person\_filter) в метод формирования ссылки.
2. Сигнеры КриптоПро (через [приложение командной строки](https://www.cryptopro.ru/products/other/cryptcp) или через [расширение для PHP](https://github.com/CryptoPro/phpcades)).
3. Метод для получения ролей пользователя.
4. Метод для получения маркера доступа в обмен на маркер обновления.
5. Метод для получения маркера доступа на основе полномочий системы-клиента.
6. Метод для получения организаций пользователя.

### Совместимость

[](#совместимость)

Пакет версии 3.x совместим с [fr05t1k/esia](https://github.com/fr05t1k/esia) 2.4.

Для перехода на форк можно выполнить команды:

```
composer remove fr05t1k/esia
composer require ilimurzin/esia:^3.2
```

При этом уже написанный код не сломается.

###  Health Score

44

—

FairBetter than 92% of packages

Maintenance65

Regular maintenance activity

Popularity24

Limited adoption so far

Community14

Small or concentrated contributor base

Maturity60

Established project with proven stability

 Bus Factor2

2 contributors hold 50%+ of commits

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 ~50 days

Recently: every ~67 days

Total

10

Last Release

200d ago

Major Versions

3.2.1 → 4.0.02025-02-24

3.2.2 → 4.0.12025-10-31

PHP version history (2 changes)3.0.0PHP ^7.1 || ^8.0

4.0.0PHP ^8.2

### Community

Maintainers

![](https://www.gravatar.com/avatar/fcdb84a61adbe9976b0ef9513da149bca2ea4faa4b6dc0dc89c3a527ccf3e889?d=identicon)[ilimurzin](/maintainers/ilimurzin)

---

Top Contributors

[![ilimurzin](https://avatars.githubusercontent.com/u/970928?v=4)](https://github.com/ilimurzin "ilimurzin (67 commits)")[![fr05t1k](https://avatars.githubusercontent.com/u/2131624?v=4)](https://github.com/fr05t1k "fr05t1k (53 commits)")[![paulish](https://avatars.githubusercontent.com/u/1762032?v=4)](https://github.com/paulish "paulish (20 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (3 commits)")[![kozzy911](https://avatars.githubusercontent.com/u/33512480?v=4)](https://github.com/kozzy911 "kozzy911 (1 commits)")[![lex111](https://avatars.githubusercontent.com/u/4408379?v=4)](https://github.com/lex111 "lex111 (1 commits)")[![opiy-org](https://avatars.githubusercontent.com/u/10293975?v=4)](https://github.com/opiy-org "opiy-org (1 commits)")[![F0Rt04ka](https://avatars.githubusercontent.com/u/20201784?v=4)](https://github.com/F0Rt04ka "F0Rt04ka (1 commits)")

---

Tags

esia

###  Code Quality

TestsCodeception

Static AnalysisPHPStan

Code StylePHP CS Fixer

Type Coverage Yes

### Embed Badge

![Health badge](/badges/ilimurzin-esia/health.svg)

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

###  Alternatives

[google/auth

Google Auth Library for PHP

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

E-Commerce platform for PHP, based on Symfony framework.

8.4k5.6M651](/packages/sylius-sylius)[aporat/store-receipt-validator

PHP receipt validator for Apple App Store and Amazon Appstore

6503.9M9](/packages/aporat-store-receipt-validator)[shopify/shopify-api

Shopify API Library for PHP

4634.8M16](/packages/shopify-shopify-api)[theodo-group/llphant

LLPhant is a library to help you build Generative AI applications.

1.5k311.5k5](/packages/theodo-group-llphant)[tempest/framework

The PHP framework that gets out of your way.

2.1k23.1k9](/packages/tempest-framework)

PHPackages © 2026

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