Описание
Будет получено три токена: access_token , refresh_token и id_token .
Срок жизни токена доступа - 1 час.
У одного пользователя может быть несколько пар действующих access_token, refresh_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 - нет необходимости экранировать специальные символы.
Подробную информацию по экранированию можно посмотреть здесь.
Параметры запроса
application/json
application/x-www-form-urlencoded
Тип гранта. Возможные значения:
-
•
authorization_code
Код авторизации
Идентификатор партнёрского сервиса
Секретный ключ партнёрского сервиса
URI перенаправления
Код верификатор
1curl --location 'https://baas.alfabank.ru/oidc/token' \
2--header 'Content-Type: application/x-www-form-urlencoded' \
3--header 'Accept: application/json' \
4--data-urlencode 'grant_type=authorization_code' \
5--data-urlencode 'code=8962c304-89b1-11ec-a8a3-0242ac120002' \
6--data-urlencode 'client_id=0cee0683-85ae-49f2-a63d-29f97aad1911' \
7--data-urlencode 'client_secret=Qwerty1234567890Qwerty1234567890!' \
8--data-urlencode 'redirect_uri=https://wwww.partner.ru/code' \
9--data-urlencode 'code_verifier=string'
Параметры ответа
1{
2 "access_token": "eyJraWQiOiJhbGZhLXRlc3Qtand0IiwidHlwIjoiSldUIiwiYWxnIjoiUlMyNTYifQ.eyJzdWIiOiIzMjI4ZTY4ZS1jYzM0LTRiODItYjQzZC00OTExMmI1ZDlkM2UiLCJhdWQiOiIwY2VlMDY4My04NWFlLTQ5ZjItYTYzZC0yOWY5N2FhZDE5MTEiLCJpc3MiOiJodHRwczpcL1wvaWQuYWxmYWJhbmsucnUiLCJleHAiOjE2MzE2NjY2NjMsInNjb3BlX3NlcnZpY2VzIjpbInBheW1lbnQiLCJzdGF0ZW1lbnQiXSwiaWF0IjoxNjMxNjYzMDYzLCJzY29wZV9jbGFpbXMiOlsibmFtZSIsImdpdmVuX25hbWUiLCJmYW1pbHlfbmFtZSIsIm1pZGRsZV9uYW1lIiwiZW1haWwiLCJwaG9uZV9udW1iZXIiXX0.RZ98I-PT_HGMzc7IbwGvlZjLOYuInta6pczEc_h4yCvZKCafIqs4ZBbs7eSY3NpXGzTbSZkGQA9wfX2NFDXZelwyNTooFQMpXzytrEhLww05H8ZFCH0kEQ_IpnJk-KeYkBLD0Oa75Gi6Lqj-Dr8KoX4Zq93ZyT4sr7Hzb1H287UlkJWVlpz_E7slLIob8m3keGbDysNyEBKJzsPcW27HENZBnvYwdE1pzwB8ObEZkICO8kbEP7MupLbhFyjxJFlI6Bq2DNjqi_QgQzvjvpD4KILxDms-Upg8h6GptYyoOl1BMGfN7WhN2vOUFYNuivNKctwcfD_H73kHJGu5KIJmGA",
3 "refresh_token": "13b8230b-b6bf-4bb9-b977-3bc0a988a5fd",
4 "token_type": "Bearer",
5 "expires_in": 3600,
6 "id_token": "eyJraWQiOiJhbGZhLXRlc3Qtand0IiwidHlwIjoiSldUIiwiYWxnIjoiUlMyNTYifQ.eyJzdWIiOiIzMjI4ZTY4ZS1jYzM0LTRiODItYjQzZC00OTExMmI1ZDlkM2UiLCJhdWQiOiIwY2VlMDY4My04NWFlLTQ5ZjItYTYzZC0yOWY5N2FhZDE5MTEiLCJhY3IiOiJMb0EzIiwiYXpwIjoiMGNlZTA2ODMtODVhZS00OWYyLWE2M2QtMjlmOTdhYWQxOTExIiwiYXV0aF90aW1lIjoxNjMxNjYzMDUzLCJpc3MiOiJodHRwczpcL1wvaWQuYWxmYWJhbmsucnUiLCJleHAiOjE2MzE2NjY2NjMsImlhdCI6MTYzMTY2MzA2Mywibm9uY2UiOiJuLTBTNl9XekEyTWoifQ.xBE6LEUxOKleHCZVQacldJfKr5KtyyvJKCCmInqapmRJ_aRF-cEoVfpJd_kxlNmJYT7AcjMMppovNkmhB49VL5DK8FhF0fvRgLskKR9Eohy4eiC8ued03Z1LyLz1H7EcKSkusaCIajzIvxxZfVtSHI4jmgLg6ItXPdZgIDUWINgESkl6I7IP5CbfONHweNnbkWEOEzxDgGGnxxtPxrWVoPVP-ijUeUSH_iESHfrhY_ePRMYi2If62IsKX_0GT5BHRYOhXVDZ9fyn5fRCvg8_QoCykDVIOZMtWQ3w4TadqS0dfMlsLBxkVbVftzH2fWRLTCX3SJ5AXiytHkpow8V45w"
7}
application/json
no-store
no-cache
Токен доступа
Токен обновления
Тип токена. Сообщает о генерации токена доступа и его направлении обратно
Срок жизни токена в секундах
Идентификационный токен
1{
2 "access_token": "eyJraWQiOiJhbGZhLXRlc3Qtand0IiwidHlwIjoiSldUIiwiYWxnIjoiUlMyNTYifQ.eyJzdWIiOiIzMjI4ZTY4ZS1jYzM0LTRiODItYjQzZC00OTExMmI1ZDlkM2UiLCJhdWQiOiIwY2VlMDY4My04NWFlLTQ5ZjItYTYzZC0yOWY5N2FhZDE5MTEiLCJpc3MiOiJodHRwczpcL1wvaWQuYWxmYWJhbmsucnUiLCJleHAiOjE2MzE2NjY2NjMsInNjb3BlX3NlcnZpY2VzIjpbInBheW1lbnQiLCJzdGF0ZW1lbnQiXSwiaWF0IjoxNjMxNjYzMDYzLCJzY29wZV9jbGFpbXMiOlsibmFtZSIsImdpdmVuX25hbWUiLCJmYW1pbHlfbmFtZSIsIm1pZGRsZV9uYW1lIiwiZW1haWwiLCJwaG9uZV9udW1iZXIiXX0.RZ98I-PT_HGMzc7IbwGvlZjLOYuInta6pczEc_h4yCvZKCafIqs4ZBbs7eSY3NpXGzTbSZkGQA9wfX2NFDXZelwyNTooFQMpXzytrEhLww05H8ZFCH0kEQ_IpnJk-KeYkBLD0Oa75Gi6Lqj-Dr8KoX4Zq93ZyT4sr7Hzb1H287UlkJWVlpz_E7slLIob8m3keGbDysNyEBKJzsPcW27HENZBnvYwdE1pzwB8ObEZkICO8kbEP7MupLbhFyjxJFlI6Bq2DNjqi_QgQzvjvpD4KILxDms-Upg8h6GptYyoOl1BMGfN7WhN2vOUFYNuivNKctwcfD_H73kHJGu5KIJmGA",
3 "refresh_token": "13b8230b-b6bf-4bb9-b977-3bc0a988a5fd",
4 "token_type": "Bearer",
5 "expires_in": 3600,
6 "id_token": "eyJraWQiOiJhbGZhLXRlc3Qtand0IiwidHlwIjoiSldUIiwiYWxnIjoiUlMyNTYifQ.eyJzdWIiOiIzMjI4ZTY4ZS1jYzM0LTRiODItYjQzZC00OTExMmI1ZDlkM2UiLCJhdWQiOiIwY2VlMDY4My04NWFlLTQ5ZjItYTYzZC0yOWY5N2FhZDE5MTEiLCJhY3IiOiJMb0EzIiwiYXpwIjoiMGNlZTA2ODMtODVhZS00OWYyLWE2M2QtMjlmOTdhYWQxOTExIiwiYXV0aF90aW1lIjoxNjMxNjYzMDUzLCJpc3MiOiJodHRwczpcL1wvaWQuYWxmYWJhbmsucnUiLCJleHAiOjE2MzE2NjY2NjMsImlhdCI6MTYzMTY2MzA2Mywibm9uY2UiOiJuLTBTNl9XekEyTWoifQ.xBE6LEUxOKleHCZVQacldJfKr5KtyyvJKCCmInqapmRJ_aRF-cEoVfpJd_kxlNmJYT7AcjMMppovNkmhB49VL5DK8FhF0fvRgLskKR9Eohy4eiC8ued03Z1LyLz1H7EcKSkusaCIajzIvxxZfVtSHI4jmgLg6ItXPdZgIDUWINgESkl6I7IP5CbfONHweNnbkWEOEzxDgGGnxxtPxrWVoPVP-ijUeUSH_iESHfrhY_ePRMYi2If62IsKX_0GT5BHRYOhXVDZ9fyn5fRCvg8_QoCykDVIOZMtWQ3w4TadqS0dfMlsLBxkVbVftzH2fWRLTCX3SJ5AXiytHkpow8V45w"
7}
application/json
no-store
no-cache
Код ошибки. Принимает возможные значения:
-
•
invalid_request- неверные входные параметры запроса
Описание ошибки
1{
2 "error": "invalid_request",
3 "error_description": "string"
4}
Таблица возможных значений параметра error
| Значение | Описание |
|---|---|
| invalid_request | Отсутствует обязательный параметр, неподдерживаемое значение параметра (кроме grant_type), повторение параметра, несколько учётных данных или неправильный формат запроса |
| invalid_client | Ошибка аутентификации клиента (неверный client_id или client_secret, отключённая аутентификация клиента или неподдерживаемый метод аутентификации) |
| invalid_grant | Недействительное разрешение авторизации (недействительный код авторизации, токен обновления или несоответствие URI перенаправления) |
| unsupported_grant_type | Тип разрешения на авторизацию (grant_type) не поддерживается сервером авторизации |
| internal_error | Произошла непредвиденная ошибка |
Описание клэймов access_token
| Значение | Описание |
|---|---|
| iss | URL-адрес 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 |
|---|---|---|
| iss | URL-адрес 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 в формате UTC | openid |
| auth_time | Время аутентификация пользователя. Значение - количество секунд с 1970-01-01T0:0:0Z в формате UTC до даты/времени | openid |
| nonce | Строковое значение, используемое для связи сессии клиента с идентификационным токеном и защиты от повторных атак. Учитывается регистр. Возвращается, только если партнёр передал nonce в ссылке на получение кода авторизации |
openid |
| acr | Способ аутентификации пользователя. Учитывается регистр | openid |
| azp | Сторона, которой выдан идентификационный токен. Если присутствует, должен содержать идентификатор клиента (client_id) OAuth 2.0 этой стороны. Учитывается регистр | openid |