PHPackages                             vlsv/sber-api-registry-oauth-client - 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. [HTTP &amp; Networking](/categories/http)
4. /
5. vlsv/sber-api-registry-oauth-client

ActiveLibrary[HTTP &amp; Networking](/categories/http)

vlsv/sber-api-registry-oauth-client
===================================

Клиент для работы с токенами Sber API Registry

v1.1.9(3y ago)21212MITPHPPHP ^8.1

Since Aug 24Pushed 3y ago1 watchersCompare

[ Source](https://github.com/skodnik/sber-api-registry-oauth-client)[ Packagist](https://packagist.org/packages/vlsv/sber-api-registry-oauth-client)[ RSS](/packages/vlsv-sber-api-registry-oauth-client/feed)WikiDiscussions main Synced 1mo ago

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

[![phpunit tests](https://github.com/skodnik/sber-api-registry-oauth-client/actions/workflows/php.yml/badge.svg)](https://github.com/skodnik/sber-api-registry-oauth-client/actions/workflows/php.yml/badge.svg)

Клиент для работы с токенами Sber API Registry
==============================================

[](#клиент-для-работы-с-токенами-sber-api-registry)

Получение `access_token` для последующей работы с доступными API.

Базовые сведения
----------------

[](#базовые-сведения)

- [Sber API Registry — доступ к цифровым сервисам экосистемы Сбера](https://api.developer.sber.ru/).
- [О системе Sber API Registry](https://api.developer.sber.ru/how-to-use/about).

Описание доработок, которые необходимо выполнить на стороне сервиса вызова API - [Настройки сервиса вызова API](https://api.developer.sber.ru/how-to-use/api_settings). Вызов API осуществляется согласно спецификации Oauth 2.0, который предполагает первичное получение токена, разрешающего выполнить непосредственный запрос API (access\_token).

ВАЖНО! **Новый токен нужно получать для каждого нового запроса к API**. Срок жизни токена составляет 60 сек.

Токены реализуются двух видов:

1. [OAUTH-токен](https://api.developer.sber.ru/how-to-use/token_oauth) - если не требуется доступ к клиентским данным и не требуется согласие клиента на получение его данных.
2. [OIDC-токен](https://api.developer.sber.ru/how-to-use/token_oidc) - если продукт API предполагает работу с данными клиента, в рамках установленных согласий клиентов.

Требования к переменным окружения
---------------------------------

[](#требования-к-переменным-окружения)

Для получения токена потребуются:

1. `ClientId` и `ClientSecret` для их получения [зарегистрировать приложение](https://api.developer.sber.ru/how-to-use/create_app).
2. В целях двустороннего TLS соединения [выпустить сертификат](https://api.developer.sber.ru/how-to-use/create_certificate).

Установка библиотеки
--------------------

[](#установка-библиотеки)

```
composer require vlsv/sber-api-registry-oauth-client
```

Получение сертификата
---------------------

[](#получение-сертификата)

### Официальная документация:

[](#официальная-документация)

- [Выпустить сертификат](https://api.developer.sber.ru/how-to-use/create_certificate)
- [Настройки сервиса вызова API](https://api.developer.sber.ru/how-to-use/api_settings)

Подготовка сертификата
----------------------

[](#подготовка-сертификата)

```
openssl pkcs12 -in {path_to_certificate}/cert.p12 -out {path_to_certificate}/cert.pem -nodes
```

Получение `access_token`
------------------------

[](#получение-access_token)

Приведенные параметры методов запроса токена - минимально необходимые, фактически их больше (см. исходники).

```
require_once(__DIR__ . '/vendor/autoload.php');

$config = new \Vlsv\SberApiRegistryOauthClient\ClientConfig(
    clientId: 'client_id',
    clientSecret: 'client_secret',
    certPath: 'cert_path',
    certPassword: 'cert_password',
);

$oAuthClient = new \Vlsv\SberApiRegistryOauthClient\OAuthClient($config);

// OAUTH-токен
try {
    $accessToken = $oAuthClient
        ->getOauthToken(scope: 'https://api.sberbank.ru/qr/order.create')
        ->getAccessToken();
} catch (\Vlsv\SberApiRegistryOauthClient\Exception\ApiException $exception) {
    echo $exception->getMessage();

    if ($exception->getResponseObject()) {
        echo $exception->getResponseObject()->getMoreInformation();
    }
} catch (\Throwable $exception) {
    echo $exception->getMessage();
}

// OIDC-токен
try {
    $accessToken = $oAuthClient->getOidcToken(
       scope: 'https://api.sberbank.ru/qr/order.create',
       code: 'authorization_code',
       redirectUri: 'redirect_uri',
   )->getAccessToken();
} catch (\Vlsv\SberApiRegistryOauthClient\Exception\ApiException $exception) {
    echo $exception->getMessage();

    if ($exception->getResponseObject()) {
        echo $exception->getResponseObject()->getMoreInformation();
    }
} catch (\Throwable $exception) {
    echo $exception->getMessage();
}
```

Тесты
-----

[](#тесты)

Все группы.

```
composer tests
```

Feature и unit.

```
composer tests-feature && composer tests-unit
```

Для интеграционных тестов (библиотеки):

```
cp phpunit.xml.dist phpunit.xml
```

Заполнить переменные `CLIENT_ID`, `CLIENT_SECRET` и пр. значениями полученными при регистрации согласно [официальной документации](https://api.developer.sber.ru/how-to-use/consumer). При вызове метода получения токена указан `scope` из SberPay QR/Плати QR.

```
composer tests-integration
```

###  Health Score

29

—

LowBetter than 60% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity14

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity62

Established project with proven stability

 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

Every ~4 days

Total

11

Last Release

1309d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/0a2237c67741e5be893af5ebbcf4fdf0eac507ebb6cea1882a39770891aff07a?d=identicon)[vlsv](/maintainers/vlsv)

---

Top Contributors

[![skodnik](https://avatars.githubusercontent.com/u/1265773?v=4)](https://github.com/skodnik "skodnik (26 commits)")

---

Tags

apirestoauthsber

###  Code Quality

TestsPHPUnit

Static AnalysisPsalm

Code StylePHP CS Fixer

Type Coverage Yes

### Embed Badge

![Health badge](/badges/vlsv-sber-api-registry-oauth-client/health.svg)

```
[![Health](https://phpackages.com/badges/vlsv-sber-api-registry-oauth-client/health.svg)](https://phpackages.com/packages/vlsv-sber-api-registry-oauth-client)
```

###  Alternatives

[zoonman/linkedin-api-php-client

LinkedIn API PHP SDK with OAuth 2.0 &amp; CSRF support. Can be used for social sign in or sharing on LinkedIn. Examples. Documentation.

127704.0k](/packages/zoonman-linkedin-api-php-client)[abantecart/ups-php

UPS PHP SDK based on OAuth

1815.3k](/packages/abantecart-ups-php)[wearearchitect/sharepoint-oauth-app-client

SharePoint OAuth App Client

156.1k](/packages/wearearchitect-sharepoint-oauth-app-client)

PHPackages © 2026

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