B2BB2CH2H

Получение токена доступа

Пром POST https://baas.alfabank.ru/oidc/token

Песочница POST https://sandbox.alfabank.ru/oidc/token

Описание

Будет получено три токена: access_token , refresh_token , id_token .

При использовании curl запроса с заголовком "Content-Type": "application/x-www-form-urlencoded" - необходимо экранировать специальные символы параметра client_secret . В то время как redirect_uri экранировать не нужно.

Если запрос отправляется через Postman с заголовком "Content-Type": "application/x-www-form-urlencoded" и body в формате x-www-form-urlencoded - нет необходимости экранировать специальные символы.

Подробную информацию по экранированию можно посмотреть здесь.

Параметры запроса

HEADERS
АТРИБУТ
ОПИСАНИЕ
Accept
stringrequired

application/json

Content-Type
stringrequired

application/x-www-form-urlencoded

BODY
АТРИБУТ
ОПИСАНИЕ
grant_type
stringrequired

Тип гранта. Возможные значения: authorization_code

code
stringrequired

Код авторизации

client_id
stringrequired

Идентификатор партнерского сервиса

client_secret
stringrequired

Секретный ключ партнерского сервиса

redirect_uri
stringrequired

URI перенаправления

code_verifier
stringoptional

Код верификатор

Пример запроса
curl -X POST https://baas.alfabank.ru/oidc/token \
  -H 'Content-Type: application/x-www-form-urlencoded' \
  -H 'Accept: application/json' \
  -d 'grant_type=authorization_code&code=8962c304-89b1-11ec-a8a3-0242ac120002&client_id=0cee0683-85ae-49f2-a63d-29f97aad1911&client_secret=Qwerty1234567890Qwerty1234567890!&redirect_uri=https%3A%2F%2Fwwww.partner.ru%2Fcode&code_verifier='

Параметры ответа

Пример ответа 200 (ОК)
{
  "access_token": "eyJraWQiOiJhbGZhLXRlc3Qtand0IiwidHlwIjoiSldUIiwiYWxnIjoiUlMyNTYifQ.eyJzdWIiOiIzMjI4ZTY4ZS1jYzM0LTRiODItYjQzZC00OTExMmI1ZDlkM2UiLCJhdWQiOiIwY2VlMDY4My04NWFlLTQ5ZjItYTYzZC0yOWY5N2FhZDE5MTEiLCJpc3MiOiJodHRwczpcL1wvaWQuYWxmYWJhbmsucnUiLCJleHAiOjE2MzE2NjY2NjMsInNjb3BlX3NlcnZpY2VzIjpbInBheW1lbnQiLCJzdGF0ZW1lbnQiXSwiaWF0IjoxNjMxNjYzMDYzLCJzY29wZV9jbGFpbXMiOlsibmFtZSIsImdpdmVuX25hbWUiLCJmYW1pbHlfbmFtZSIsIm1pZGRsZV9uYW1lIiwiZW1haWwiLCJwaG9uZV9udW1iZXIiXX0.RZ98I-PT_HGMzc7IbwGvlZjLOYuInta6pczEc_h4yCvZKCafIqs4ZBbs7eSY3NpXGzTbSZkGQA9wfX2NFDXZelwyNTooFQMpXzytrEhLww05H8ZFCH0kEQ_IpnJk-KeYkBLD0Oa75Gi6Lqj-Dr8KoX4Zq93ZyT4sr7Hzb1H287UlkJWVlpz_E7slLIob8m3keGbDysNyEBKJzsPcW27HENZBnvYwdE1pzwB8ObEZkICO8kbEP7MupLbhFyjxJFlI6Bq2DNjqi_QgQzvjvpD4KILxDms-Upg8h6GptYyoOl1BMGfN7WhN2vOUFYNuivNKctwcfD_H73kHJGu5KIJmGA",
  "refresh_token": "13b8230b-b6bf-4bb9-b977-3bc0a988a5fd",
  "token_type": "Bearer",
  "expires_in": 3600,
  "id_token": "eyJraWQiOiJhbGZhLXRlc3Qtand0IiwidHlwIjoiSldUIiwiYWxnIjoiUlMyNTYifQ.eyJzdWIiOiIzMjI4ZTY4ZS1jYzM0LTRiODItYjQzZC00OTExMmI1ZDlkM2UiLCJhdWQiOiIwY2VlMDY4My04NWFlLTQ5ZjItYTYzZC0yOWY5N2FhZDE5MTEiLCJhY3IiOiJMb0EzIiwiYXpwIjoiMGNlZTA2ODMtODVhZS00OWYyLWE2M2QtMjlmOTdhYWQxOTExIiwiYXV0aF90aW1lIjoxNjMxNjYzMDUzLCJpc3MiOiJodHRwczpcL1wvaWQuYWxmYWJhbmsucnUiLCJleHAiOjE2MzE2NjY2NjMsImlhdCI6MTYzMTY2MzA2Mywibm9uY2UiOiJuLTBTNl9XekEyTWoifQ.xBE6LEUxOKleHCZVQacldJfKr5KtyyvJKCCmInqapmRJ_aRF-cEoVfpJd_kxlNmJYT7AcjMMppovNkmhB49VL5DK8FhF0fvRgLskKR9Eohy4eiC8ued03Z1LyLz1H7EcKSkusaCIajzIvxxZfVtSHI4jmgLg6ItXPdZgIDUWINgESkl6I7IP5CbfONHweNnbkWEOEzxDgGGnxxtPxrWVoPVP-ijUeUSH_iESHfrhY_ePRMYi2If62IsKX_0GT5BHRYOhXVDZ9fyn5fRCvg8_QoCykDVIOZMtWQ3w4TadqS0dfMlsLBxkVbVftzH2fWRLTCX3SJ5AXiytHkpow8V45w"
}
access_token
stringrequired

Токен доступа

refresh_token
stringrequired

Токен обновления

token_type
stringrequired

Тип токена. Сообщает о генерации токена доступа и его направлении обратно

expires_in
integeroptional

Срок жизни токена в секундах

id_token
stringrequired

Идентификационный токен

Пример ответа 200 (ОК)
{
  "access_token": "eyJraWQiOiJhbGZhLXRlc3Qtand0IiwidHlwIjoiSldUIiwiYWxnIjoiUlMyNTYifQ.eyJzdWIiOiIzMjI4ZTY4ZS1jYzM0LTRiODItYjQzZC00OTExMmI1ZDlkM2UiLCJhdWQiOiIwY2VlMDY4My04NWFlLTQ5ZjItYTYzZC0yOWY5N2FhZDE5MTEiLCJpc3MiOiJodHRwczpcL1wvaWQuYWxmYWJhbmsucnUiLCJleHAiOjE2MzE2NjY2NjMsInNjb3BlX3NlcnZpY2VzIjpbInBheW1lbnQiLCJzdGF0ZW1lbnQiXSwiaWF0IjoxNjMxNjYzMDYzLCJzY29wZV9jbGFpbXMiOlsibmFtZSIsImdpdmVuX25hbWUiLCJmYW1pbHlfbmFtZSIsIm1pZGRsZV9uYW1lIiwiZW1haWwiLCJwaG9uZV9udW1iZXIiXX0.RZ98I-PT_HGMzc7IbwGvlZjLOYuInta6pczEc_h4yCvZKCafIqs4ZBbs7eSY3NpXGzTbSZkGQA9wfX2NFDXZelwyNTooFQMpXzytrEhLww05H8ZFCH0kEQ_IpnJk-KeYkBLD0Oa75Gi6Lqj-Dr8KoX4Zq93ZyT4sr7Hzb1H287UlkJWVlpz_E7slLIob8m3keGbDysNyEBKJzsPcW27HENZBnvYwdE1pzwB8ObEZkICO8kbEP7MupLbhFyjxJFlI6Bq2DNjqi_QgQzvjvpD4KILxDms-Upg8h6GptYyoOl1BMGfN7WhN2vOUFYNuivNKctwcfD_H73kHJGu5KIJmGA",
  "refresh_token": "13b8230b-b6bf-4bb9-b977-3bc0a988a5fd",
  "token_type": "Bearer",
  "expires_in": 3600,
  "id_token": "eyJraWQiOiJhbGZhLXRlc3Qtand0IiwidHlwIjoiSldUIiwiYWxnIjoiUlMyNTYifQ.eyJzdWIiOiIzMjI4ZTY4ZS1jYzM0LTRiODItYjQzZC00OTExMmI1ZDlkM2UiLCJhdWQiOiIwY2VlMDY4My04NWFlLTQ5ZjItYTYzZC0yOWY5N2FhZDE5MTEiLCJhY3IiOiJMb0EzIiwiYXpwIjoiMGNlZTA2ODMtODVhZS00OWYyLWE2M2QtMjlmOTdhYWQxOTExIiwiYXV0aF90aW1lIjoxNjMxNjYzMDUzLCJpc3MiOiJodHRwczpcL1wvaWQuYWxmYWJhbmsucnUiLCJleHAiOjE2MzE2NjY2NjMsImlhdCI6MTYzMTY2MzA2Mywibm9uY2UiOiJuLTBTNl9XekEyTWoifQ.xBE6LEUxOKleHCZVQacldJfKr5KtyyvJKCCmInqapmRJ_aRF-cEoVfpJd_kxlNmJYT7AcjMMppovNkmhB49VL5DK8FhF0fvRgLskKR9Eohy4eiC8ued03Z1LyLz1H7EcKSkusaCIajzIvxxZfVtSHI4jmgLg6ItXPdZgIDUWINgESkl6I7IP5CbfONHweNnbkWEOEzxDgGGnxxtPxrWVoPVP-ijUeUSH_iESHfrhY_ePRMYi2If62IsKX_0GT5BHRYOhXVDZ9fyn5fRCvg8_QoCykDVIOZMtWQ3w4TadqS0dfMlsLBxkVbVftzH2fWRLTCX3SJ5AXiytHkpow8V45w"
}
error
stringrequired

Код ошибки. Принимает возможные значения: invalid_request - Неверные входные параметры запроса

error_description
stringoptional

Описание ошибки

Пример ошибки
{
  "error": "invalid_request",
  "error_description": "string"
}
Таблица возможных значений параметра error
ЗначениеОписание
invalid_requestОтсутствует обязательный параметр, неподдерживаемое значение параметра (кроме grant_type), повторение параметра, несколько учетных данных или неправильный формат запроса
invalid_clientОшибка аутентификации клиента (неизвестный клиент, отключенная аутентификация клиента или неподдерживаемый метод аутентификации)
invalid_grantНедействительное разрешение авторизации (недействительный код авторизации, токен обновления или несоответствие URI перенаправления)
unsupported_grant_typeТип разрешения на авторизацию (grant_type) не поддерживается сервером авторизации
internal_errorПроизошла непредвиденная ошибка
Описание клэймов access_token
ЗначениеОписание
issURL-адрес Alfa ID по протоколу https (https://id.alfabank.ru/oidc)
subУникальный идентификатор Alfa ID пользователя, предназначенный для использования клиентом (client). Длина не должна превышать 255 символов ASCII. Учитывается регистр
audИдентификатор сервиса-партнёра (аудитория токена). Может также содержать идентификаторы для других сервисов. Представляется в виде массива строк с учетом регистра, либо может быть одной строкой
expВремя окончания срока действия идентификационного токена. Представляет собой JSON с указанием количества секунд от 1970-01-01T0:0:0Z в формате UTC до даты/времени
iatВремя выпуска JWT. Значение - количество секунд до указанной даты/времени от 1970-01-01T0:0:0Z в формате UTC
scope_claimsМассив клэймов области применения
scope_servicesМассив операций области применения
Описание клэймов ID_TOKEN
ЗначениеОписаниеScope
issURL-адрес Alfa ID по протоколу https (https://id.alfabank.ru/oidc)openid
subУникальный идентификатор Alfa ID пользователя, предназначенный для использования клиентом (client). Длина не должна превышать 255 символов ASCII. Учитывается регистрopenid
audИдентификатор сервиса-партнёра (аудитория токена). Может также содержать идентификаторы для других сервисов. Представляется в виде массива строк с учетом регистра, либо может быть одной строкойopenid
expВремя окончания срока действия идентификационного токена. Представляет собой JSON с указанием количества секунд от 1970-01-01T0:0:0Z в формате UTC до даты/времениopenid
iatВремя выпуска JWT. Значение - количество секунд до указанной даты/времени от 1970-01-01T0:0:0Z в формате UTCopenid
auth_timeВремя аутентификация пользователя. Значение - количество секунд с 1970-01-01T0:0:0Z в формате UTC до даты/времениopenid
nonceСтроковое значение, используемое для связи сессии клиента с идентификационным токеном и защиты от повторных атак. Учитывается регистрopenid
acrСпособ аутентификации пользователя. Учитывается регистрopenid
azpСторона, которой выдан идентификационный токен. Если присутствует, должен содержать идентификатор клиента (client_id) OAuth 2.0 этой стороны. Учитывается регистрopenid