B2BH2H

Получение кода авторизации

1

Сформируйте ссылку

2

Переадресация дочерней компании для прохождения аутентификации

3

Получение кода авторизации в ответе Alfa ID

Данные для тестирования аутентификации в песочнице в статье Тестирование Alfa ID.

Шаг 1. Формирование ссылки
Песочница
GET https://id-sandbox.alfabank.ru/oidc/authorize?response_type=code&client_id={client_id}&redirect_uri={redirect_uri}&scope={scope}&state={state}
Пром
GET https://id.alfabank.ru/oidc/authorize?response_type=code&client_id={client_id}&redirect_uri={redirect_uri}&scope={scope}&state={state}

Ссылка должна содержать обязательные параметры, указанные ниже в таблице. Также опционально могут быть использованы необязательные параметры.

Дополнительный параметр prompt=consent использовать только в том случае, если необходимо, чтобы дочерняя компания подписала/переподписала новое согласие.

Сформированную ссылку необходимо передать своим дочерним компаниям.

Параметры запроса
QUERY
АТРИБУТ
ОПИСАНИЕ
response_type
stringrequired

Тип ответа. Возможные значения: code

client_id
stringrequired

Идентификатор партнёрского сервиса (банк выдает партнёру API)

redirect_uri
stringrequired

URI перенаправления (который сообщает партнёр API), необходимый для переадресации пользователя после успешной авторизации приложения и которому будет предоставляться код авторизации

scope
stringrequired

Область применения токена доступа (партнёр API информирует, какие scopes будут использованы). Рекомендуется указывать весь доступный scope через знак пробела или %20. Минимально необходимый scope для получения токена - openid

state
stringrequired

Параметр для предотвращения межсайтовой подделки запросов. Значение генерирует партнёр. Рекомендуется использовать идентификатор сессии пользователя или одно из его производных, таких как хэш идентификатора. UUID, 36 символов, включая тире

nonce
stringoptional

Строковое значение, используемое для связи сессии клиента с идентификационным токеном и защиты от повторных атак

code_challenge
stringoptional

Код вызова

code_challenge_method
stringoptional

Метод преобразования кода верификатора. Возможные значения: plain - код верификатор; S256 - S256 BASE64URL-ENCODE(SHA256(ASCII(Код верификатор)))

prompt
stringoptional

Параметр повторной аутентификации и подписания согласия. Возможные значения:

  • •
    none - запрос будет успешно выполнен, только если пользователь уже аутентифицирован и у него есть активное согласие. Иначе вернётся ошибка и страницы аутентификации и согласия не отобразятся пользователю;
  • •
    login - будет запрошена повторная аутентификация пользователя, даже если он уже аутентифицирован;
  • •
    consent - будет запрошено повторное согласие пользователя даже при наличии активного согласия. Необходимо использовать, например, если вы хотите поменять набор запрашиваемых scopes;
  • •
    select_org - пользователю будет предложено выбрать организацию для входа;
  • •
    select_account - пользователю будет предложено выбрать учётную запись для входа
max_age
stringoptional

Максимальный период аутентификации в секундах

Пример ссылки
1https://id.alfabank.ru/oidc/authorize?response_type=code&client_id=0cee0683-85ae-49f2-a63d-29f97aad1911&redirect_uri=https%3A%2F%2Fwwww.partner.ru%2Fcode&scope=openid&state=abcdef
Шаг 2. Аутентификация дочерней компании
  1. 1.
    При переходе по ссылке дочерняя компания проходят процедуру аутентификации.

2. Выбирает необходимую организацию (при работе с несколькими юридическими лицами).

3. Далее проходит процедуру авторизации, подписывая форму согласия.

4. После прохождения авторизации в адресной строĸе браузера отобразится ĸод авторизации (code). Дочерней компании необходимо скопировать код авторизации (code) и передать головной компании.

Шаг 3. Получение кода авторизации

Полученное от дочерней компании значение ĸода авторизации (code) необходимо сĸопировать и обменять на тоĸен доступа.

Отправьте письмо на alfa_api@alfabank.ru, указав следующие данные:

  1. 1.
    client_id.
  2. 2.
    Дата и время запроса с указанием часового пояса.
  3. 3.
    Метод и URI запроса.
  4. 4.
    Заголовки и тело запроса.
  5. 5.
    Полученная ошибка и заголовки ответа, включая X-TraceId.
  6. 6.
    IP-адрес, с которого был отправлен запрос.