Войти

Онлайн-режим запроса согласий

Дата актуализации 26.01.2026

Получите для вашей ИС маркер доступа access_token. Маркер доступа необходим для запроса согласий в онлайн-режиме. Подробнее о получении маркера доступа читайте в Методических рекомендациях по использованию ЕСИА → Сервисы ЕСИА, основанные на протоколе OAuth2.0 и OpenID Connect 1.0.

В рамках эксперимента для запроса согласия пользователя:

  1. Используйте значение области доступа (scope) — openid. Оно позволяет провести аутентификацию и получить маркер идентификации. Другие значения scope использовать нельзя.
  2. Согласие можно запрашивать только у граждан с подтверждённой учётной записью в ЕСИА.
  3. По умолчанию согласие могут давать только пользователи старше 18 лет, но возраст может быть изменён в настройках конкретного типа согласия.
  4. Если пользователь не соответствует этим условиям, система проведёт аутентификацию и выдаст маркер доступа с scope «openid», но без запроса согласия.
  5. В некоторых случаях можно настроить запрос согласия у родителя для несовершеннолетнего пользователя.

Для каждого запрашиваемого согласия укажите цель, планируемую для работы с данными пользователя, и действие «ALL_ACTIONS_TO_DATA».

В запросе к OAuth2.0 ЕСИА метода /aas/oauth2/v2/ac (Приложение Б.2.3 Методических рекомендациях по использованию ЕСИА) укажите дополнительный параметр permissions.

Permissions – это JSON-объект со списком запрашиваемых согласий, закодированный в формате BASE64 url safe.

Параметр permissions содержит мнемоники запрашиваемых типов согласий и перечень для каждого типа согласия:

Атрибут

Обязательность

Описание

expire

Обязательный

Срок действия запрашиваемого типа согласия

responsibleObject

Необязательный

Лицо (сотрудник организации) или организация, осуществляющее обработку данных (строка с ФИО или другой информацией)

scopes

Обязательный

Мнемоники и признаки обязательности области доступа (scope)

purposes

Обязательный

Мнемоники целей

actions

Обязательный

Мнемоники действий (ALL_ACTIONS_TO_DATA)

ogrn

Необязательный

ОГРН организации, для которой выполняется запрос согласия

terms

Необязательный

Мнемоники условий обработки данных оператором с указанием причины обязательного условия (актуально только для согласия на распространение данных)

sites

Необязательный

Информационный ресурс оператора для распространения данных пользователя (актуально только для согласия на распространение данных)

Мнемоники типа согласия и цели должны быть указаны строго из реестров платформы согласий, действие должно быть указано только «ALL_ACTIONS_TO_DATA».

Запрашиваемый срок действия согласия не может превышать максимальный срок действия, определённый для выбранного типа согласия.

После аутентификации в интерфейсе ЕСИА пользователю отображается страница согласий. Пользователь может выбрать только часть запрошенных согласий, а также часть доступов к данным в рамках согласия (в случае, если эти области доступа (scope) для указанного типа согласия не обязательны, но желательны).

Если пользователь ранее предоставлял согласие на запрошенный тип согласия с данной мнемоникой и такой же список целей, действий и областей доступа (scope), и срок действия его не истёк, то такое согласие не отображается на странице запроса согласий, и данный шаг пропускается.

После получения согласий от пользователя ЕСИА выдаёт авторизационный код. Запрос к методу /aas/oauth2/v3/te выполняйте без дополнительного параметра permissions, а в параметре scope также укажите только одно значение «openid». После успешной обработки запроса произойдет выдача маркера доступа на все запрошенные и утверждённые области доступа (scope), привязанные к запрошенным типам согласий. Также в маркер доступа включается endpoint метода REST API ЕСИА, по которому ИС сможет получить все согласия, которые пользователь выдал вашей организации – параметр permissions_url.

В ответе на запрос метода /aas/oauth2/v3/te возвращается маркер доступа access_token с включёнными в него областями доступа (scope) в соответствии с запрошенными и выданными пользователем согласиями. Маркер обновления refresh_token в этом случае в ответе не возвращается. Если срок действия выданного маркера доступа access_token истёк, выполните запрос метода /aas/oauth2/v3/te с указанием в параметре scope значения prm_chg?oid={oid}, где {oid} – OID учётной записи пользователя. OID учётной записи пользователя можно получить либо из ранее выданного маркера доступа, либо из события уведомления о выдаче согласия. В ответе на запрос вы получите новый действующий пользовательский маркер доступа access_token.


Пример получаемого маркера доступа при запросе согласий

eyJ2ZXIiOjEsInR5cCI6IkpXVCIsInNidCI6ImFjY2VzcyIsImFsZyI6IkdPU1QzNDEwXzIwMTJfMjU2In0. eyJuYmYiOjE1ODIxNDIwMDcsInBlcm1pc3Npb25zIjoiQ1JFRElUIiwic2NvcGUiOiJvcGVuaWQgZW1haWw_ bW9kZT13Jm9pZD0xMDc3MDk5NjAwIGZ1bGxuYW1lP21vZGU9dyZvaWQ9MTA3NzA5OTYwMCBtb2JpbGU_bW9 kZT13Jm9pZD0xMDc3MDk5NjAwIiwiaXNzIjoiaHR0cDpcL1wvZXNpYS5nb3N1c2x1Z2kucnVcLyIsInVybj plc2lhOnNpZCI6IjZCNTkwNDQ1NTI5OEM0NUQyN0NGNzQwMkYzMDM2OTc4IiwidXJuOmVzaWE6c2JqX2lkI joxMDc3MDk5NjAwLCJleHAiOjE1ODIxNDM4MDcsImlhdCI6MTU4MjE0MjAwNywiY2xpZW50X2lkIjoiVEVT VF9TWVMiLCJwZXJtaXNzaW9uc191cmwiOiJodHRwczpcL1wvZXNpYS1kZXYudGVzdC5nb3N1c2x1Z2kucnV cL2VzaWEtcnNcL2FwaVwvcHVibGljXC92MVwvcHJuc1wvMTA3NzA5OTYwMFwvaXNzdWVkXC9wZXJtaXNzaW 9ucyJ9.-EHrq3WQxfOKbguf-hd52biJlcP6Z1Cprgzuo70XYKOgOBxbwR4cm5094BJTfBYBY9-7PUMa8Z5m QEXAp9gvmg


Структура JSON-объекта параметра permissions

Структура JSON-объекта параметра permissions
{
    "type": "array",
    "items": {
        "properties": {
            "ogrn": {
                "type": "integer",
                "description": "ОГРН   организации   от   лица   которой   производится   запрос   согласия"
            },
            "sysname": {
                "type": "string",
                "description": "Мнемоника   типа   согласия"
            },
            "responsibleObject": {
                "type": "string",
                "description": "Лицо   (сотрудник   организации),   осуществляющее   обработку   данных   согласия   -   на   усмотрение   организации,   запрашивающей   согласие   (строка   с   ФИО   или   другой   информацией,   переданная   в   запросе)"
            },
            "expire": {
                "type": "integer",
                "description": "Срок,   на   который   будет   выдано   согласие   после   утверждения   (в   минутах)"
            },
            "purposes": {
                "type": "array",
                "description": "Перечень   мнемоник   целей",
                "items": {
                    "properties": {
                        "sysname": {
                            "type": "string",
                            "description": "Мнемоника   цели"
                        }
                    },
                    "required": [
                        "sysname"
                    ]
                }
            },
            "actions": {
                "type": "array",
                "description": "Перечень   мнемоник   действий",
                "items": {
                    "properties": {
                        "sysname": {
                            "type": "string",
                            "description": "Мнемоника   действия"
                        }
                    },
                    "required": [
                        "sysname"
                    ]
                }
            },
            "scopes": {
                "type": "array",
                "description": "Перечень   мнемоник   scope",
                "items": {
                    "properties": {
                        "sysname": {
                            "type": "string",
                            "description": "Мнемоника   scope"
                        }
                    },
                    "required": [
                        "sysname"
                    ]
                }
            },
            "terms": {
                "type": "array",
                "description": "Перечень   условий   обработки   персональных   данных   для   распространения   оператором",
                "items": {
                    "properties": {
                        "sysname": {
                            "type": "string",
                            "description": "Мнемоника   условия"
                        },
                        "require": {
                            "type": "boolean",
                            "description": "Признак   обязательного   указания   в   запросе   согласия   на   распространение   персональных   данных   субъекта"
                        },
                        "requireReason": {
                            "type": "string",
                            "description": "Причина   обязательного   указания   условия   в   запросе   согласия   на   распротранение   персональных   данных   субъекта"
                        }
                    },
                    "required": [
                        "sysname"
                    ]
                }
            },
            "sites": {
                "type": "array",
                "description": "Перечень   информационных   ресурсов   оператора   для   распространения   персональных   данных   субъекта   в   рамках   согласия",
                "items": {
                    "properties": {
                        "url": {
                            "type": "string",
                            "description": "Ссылка   на   страницу   информационного   ресурса   для   распространения   персональных   данных   субъекта"
                        },
                        "description": {
                            "type": "string",
                            "description": "Описание   информационного   ресурса   оператора   для   распространения   персональных   данных   субъекта"
                        },
                        "require": {
                            "type": "boolean",
                            "description": "Признак   обязательного   указания   информационного   ресурса   для   распространения   персональных   данных   субъекта   в   запросе   согласия"
                        }
                    },
                    "required": [
                        "url"
                    ]
                }
            }
        },
        "required": [
            "sysname",
            "purposes",
            "actions",
            "scopes"
        ]
    }
}


Примеры запросов (пример содержимого параметра permissions в запросе к OAuth2.0 ЕСИА метода /aas/oauth2/v2/ac):

Стандартный запрос согласия пользователя от внешней организации

[
    {
        "ogrn": 5340503212066,
        "scopes": [
            {
                "sysname": "email"
            }
        ],
        "sysname": "CREDIT",
        "purposes": [
            {
                "sysname": "CREDIT"
            }
        ],
        "actions": [
            {
                "sysname": "ALL_ACTIONS_TO_DATA"
            }
        ],
        "responsibleObject": "Иванов Иван Иванович",
        "expire": 262800
     }
]


Одновременная выдача согласий для нескольких организаций

[
  {
        "ogrn": 5340503212066,
        "scopes": [
            {
                "sysname": "email"
            }
        ],
        "sysname": "CREDIT",
        "purposes": [
            {
                "sysname": "CREDIT"
            }
        ],
        "actions": [
            {
                "sysname": "ALL_ACTIONS_TO_DATA"
            }
        ],
        "responsibleObject": "Иванов Иван Иванович",
        "expire": 262800
    },
    {
        "ogrn": 5340563375114,
        "scopes": [
            {
                "sysname": "email"
            }
        ],
        "sysname": "CREDIT_CARD",
        "purposes": [
            {
                "sysname": "CREDIT_CARD"
            }
        ],
        "actions": [
            {
                "sysname": "ALL_ACTIONS_TO_DATA"
            }
        ],
        "responsibleObject": "Иванов Иван Иванович",
        "expire": 262800
    }
]


Авторизация в региональном электронном журнале и дневнике с помощью детских учётных записей ЕСИА

[
    {
        "scopes": [
            {
                "sysname": "fullname"
            },
            {
                "sysname": "birthdate"
            },
            {
                "sysname": "snils"
            },
            {
                "sysname": "id_doc"
            },
            {
                "sysname": "contacts"
            },
            {
                "sysname": "birth_cert_doc"
            },
            {
                "sysname": "usr_reg_cxt"
            },
            {
                "sysname": "kid_contacts"
            },
            {
                "sysname": "kid_fullname"
            },
            {
                "sysname": "kid_snils"
            },
            {
                "sysname": "kid_birthdate"
            },
            {
                "sysname": "kid_gender"
            }
        ],
        "sysname": "EDU_JOURNAL",
        "purposes": [
            {
                "sysname": "EDU_JOURNAL"
            }
        ],
        "actions": [
            {
                "sysname": "ALL_ACTIONS_TO_DATA"
            }
        ],
        "responsibleObject": "Секретарь",
        "expire": 26297460
    }
]

Возможные коды ошибок:

ESIA-036701 – Не указана мнемоника типа согласия;

ESIA-036701 – Не найден тип согласия;

ESIA-036703 – Указанные области доступа (scope) выходят за рамки разрешённых для типа согласия;

ESIA-036704 – Запрещено указывать области доступа (scope) для типа согласия;

ESIA-036705 – Необходимо указать хотя бы одно действие;

ESIA-036706 – Указанное действие не существует;

ESIA-036707 – Необходимо указать хотя бы одну цель;

ESIA-036716 – Указано некорректное время истечения срока действия согласия;

ESIA-036726 – Указанная цель не существует;

ESIA-036727 – Необходимо указать одну цель согласия;

ESIA-036743 – Не найдена связь учётной записи ребёнка с учётной записью родителя;

ESIA-036744 – У пользователя с учётной записью ребёнка не подтверждено свидетельство о рождении;

ESIA-036745 – Учётная запись ребёнка имеет признак смерти;

ESIA-036746 – Возраст пользователя не удовлетворяет условию выдачи данного типа согласия. Для каждого согласия настроен свой возрастной порог, с которого данное согласие может быть выдано. Ошибка отображается в том случае, если принять решение по согласию пытается пользователь младше настроенного возрастного порога;

ESIA-036747 – Учётная запись ребёнка не является детской;

ESIA-036748 – Отправлен запрос родителю на выдачу согласия. Требуется подтверждение согласия в личном кабинете родителя

Авторизуйтесь, чтобы оставить комментарий к статье