Alfa API: Получить токен Alfa ID

Сценарий из mcp-everything. Актуально на 2026-10-13.

Нужен перед вызовом методов, которые принимают Bearer {access_token}. Сценарий заканчивается получением access_token, refresh_token и id_token.

  1. Создай интеграцию на Портале разработчика, подключи нужные scopes и получи client_id и client_secret. Для песочницы установи выданный тестовый TLS-сертификат.
  2. Перенаправь пользователя на GET /oidc/authorize с response_type=code, client_id, redirect_uri, scope и state.
  3. Получи code в redirect_uri и в течение двух минут однократно обменяй его на токены: POST /oidc/token с grant_type=authorization_code.
  4. Передавай полученный токен как Authorization: Bearer {access_token}. По истечении часа вызови POST /oidc/token с grant_type=refresh_token и сохрани новую пару токенов.
curl --location 'https://baas.alfabank.ru/oidc/token' \
  --header 'Content-Type: application/x-www-form-urlencoded' \
  --header 'Accept: application/json' \
  --data-urlencode 'grant_type=authorization_code' \
  --data-urlencode 'code={code}' \
  --data-urlencode 'client_id={client_id}' \
  --data-urlencode 'client_secret={client_secret}' \
  --data-urlencode 'redirect_uri={redirect_uri}' \
  --data-urlencode 'code_verifier={code_verifier}'

Базовые URL

Авторизация

Тип: OAuth 2.0

Alfa ID использует OAuth 2.0/OIDC. Для Authorization Code Flow нужны client_id, client_secret, redirect_uri и scopes подключённых продуктов; токен передаётся в заголовке Authorization: Bearer {access_token}. Alfa ID подходит для всех типов интеграций и продуктов.

Для части B2B- и H2H-методов доступен API Key: передавай Authorization: ApiKey {API Key}. Внутренний ключ предназначен для операций по своей компании, внешний — по другой компании; API Key доступен не для всех продуктов, поэтому проверяй описание конкретного метода.

Методы сценария

GET /oidc/authorize — Получение кода авторизации

Перенаправляет пользователя в Alfa ID. При успехе возвращает HTTP 302 Found, а code приходит в Location на зарегистрированный redirect_uri.

Документация: https://developers.alfabank.ru/products/alfa-api/documentation/articles/alfa-id/articles/acf/articles/get-auth-code/v1/get-auth-code

Параметр Где Тип Обяз. Описание
response_type query string да Значение code
client_id query string да Идентификатор сервиса
redirect_uri query string да Зарегистрированный URI перенаправления
scope query string да Области доступа; минимально необходим openid
state query string да Значение для защиты от межсайтовой подделки запросов
nonce query string нет Связывает клиентскую сессию с ID Token
code_challenge query string нет Код вызова PKCE
code_challenge_method query string нет Метод преобразования верификатора: plain или S256
prompt query string нет Управляет повторным входом, согласием и выбором организации
max_age query string нет Максимальный возраст аутентификации

POST /oidc/token — Получение токена доступа

С grant_type=authorization_code обменивает код на access_token, refresh_token и id_token.

Документация: https://developers.alfabank.ru/products/alfa-api/documentation/articles/alfa-id/articles/acf/articles/get-access-token/v1/get-access-token

Параметр Где Тип Обяз. Описание
Content-Type header string да application/x-www-form-urlencoded
Accept header string да application/json
grant_type body string да authorization_code
code body string да Код авторизации
client_id body string да Идентификатор сервиса
client_secret body string да Секретный ключ сервиса
redirect_uri body string да URI перенаправления
code_verifier body string нет Верификатор PKCE

Пример ответа:

{
  "access_token": "eyJraWQiOiJhbGZ...",
  "refresh_token": "13b8230b-b6bf-...",
  "token_type": "Bearer",
  "expires_in": 3600,
  "id_token": "eyJraWQiOiJhbGZhLXR..."
}

POST /oidc/token — Обновление токена доступа

С grant_type=refresh_token возвращает новую пару access_token и refresh_token.

Документация: https://developers.alfabank.ru/products/alfa-api/documentation/articles/alfa-id/articles/acf/articles/token-update/v1/token-update

Параметр Где Тип Обяз. Описание
Content-Type header string да application/x-www-form-urlencoded
Accept header string да application/json
grant_type body string да refresh_token
refresh_token body string да Токен обновления
client_id body string да Идентификатор сервиса
client_secret body string да Секретный ключ сервиса

Нюансы

Другие сценарии


Если этого недостаточно — официальная документация: https://developers.alfabank.ru/products/alfa-api/documentation Вся интеграция одним документом: https://mcp-everything.ru/integrations/alfa-bank-api.md