Авторизация

Сервис, позволяющий клиентам банка авторизовываться в стороннем приложении, используя надежно защищенный канал. Реализован с помощью протокола OAuth 2.0 и представлен двумя типами авторизации: Code Grant и Password Grant


OAuth 2.0

Протокол авторизации, позволяющий приложениям осуществлять ограниченный доступ к пользовательским аккаунтам на HTTPS сервисах. Он работает по принципу делегирования аутентификации пользователя сервису, на котором находится аккаунт пользователя, позволяя стороннему приложению получать доступ к аккаунту пользователя

Code Grant

Получайте токен доступа к данным в обмен на код авторизации, предоставленный сервером авторизации после того, как пользователь прошел аутентификацию. Является предпочтительным способом авторизации

Password Grant

Получайте токен доступа в обмен на ключ API, ранее сгенерированный пользователем в кабинете «Альфа-Бизнес Онлайн». Применяйте при необходимости максимально автоматизировать процесс авторизации, а также когда приложение не в состоянии взаимодействовать с пользовательским агентом, например, веб-браузером

Two-Factor Authentication

Используйте двухфакторную аутентификацию через SMS-код для более надёжной защиты своих данных


Гайды «Авторизация» >

Обзор

Сервис, позволяющий клиентам банка авторизовываться в стороннем приложении, используя надежно защищенный канал. Реализован с помощью протокола OAuth 2.0 и представлен двумя типами авторизации: Code Grant и Password Grant

Как начать?

Зарегистрируйтесь и авторизируйтесь на портале

Создайте приложение и выберите тип авторизации

Протестируйте выбранный тип авторизации

Получите промышленный доступ к любым непубличным API

Авторизуйте клиентов банка в вашем приложении по протоколу OAuth 2.0

Зарегистрируйтесь и авторизируйтесь на портале

Создайте приложение и выберите тип авторизации

Протестируйте выбранный тип авторизации

Получите промышленный доступ к любым непубличным API

Авторизуйте клиентов банка в вашем приложении по протоколу OAuth 2.0


Зарегистрируйтесь и авторизируйтесь на портале

Впервые на портале Alfa Developer Hub?

  • Заполните поля формы регистрации
  • Ознакомьтесь с условиями соглашения и отметьте флажок согласия
  • Подтвердите, что вы не робот :)


Уже есть аккаунт?

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


Создайте приложение и подпишите его на API Авторизация

Быстро, просто, безопасно

  • Назовите и опишите приложение. Название приложения должно быть уникальным
  • Выберите тип авторизации Password Grant

Протестируйте API Авторизация для данного приложения

Сode Grant или Password Grant

Для вызова всех функциональных интерфейсов API требуется токен доступа. Для его получения необходимо пройти процесс авторизации пользователя. Для этого:

  • Получите ключи Client ID и Client Secret (странница Приложения, вкладка Sandbox keys для тестовых ключей, вкладка Production keys для промышленных ключей)
  • Важно! Ваши ключи Client ID и Client Secret идентифицируют вас и необходимы для защиты себя и ваших клиентов. Держите их в очень безопасном месте

  • Определите тип авторизации, который будет использоваться в вашем приложении, и действуйте исходя из вашего выбора

Code Grant

Клиент Альфа-Банка перенаправляется на страницу авторизации банка, где вводит личные учетные данные от Альфа Бизнес Онлайн. Также клиент подтверждает права доступа, которые запрашивает приложение. В результате успешной авторизации и подтверждения прав сервер возвращает код авторизации, который можно обменять на пару токенов (access_token и refresh_token).

ШАГ 1: Получение кода авторизации

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

GET/authorize

https://developerhub.alfabank.by:8273/authorize
?response_type=code
&client_id=clientId
&scope=accounts read_documents profile create_documents sign_documents cards read_currency create_currency read_employees create_employees read_acquiring_partner
&redirect_uri=https://www.client.example.com
&state=1

Параметр «scope» в запросе предназначен для указания сервисов, к которым приложению необходимо получить доступ. Если «scope» не передан(-ы), будет присвоено значение по умолчанию, позволяющее работать только с Публичными API.

Scope Details
profile доступ к сервису "Информация о клиенте"
accounts доступ к сервису "Счета и баланс"
read_documents доступ к сервису "Документы и платежи" (чтение)
create_documents доступ к сервису "Документы и платежи" (создание)
sign_documents доступ к сервису "Документы и платежи" (подписание)
cards доступ к сервису "Корпоративные Карты"
read_currency доступ к сервису "Обмен валют" (чтение)
create_currency доступ к сервису "Обмен валют" (создание)
read_employees доступ к сервису "Зарплатный проект" (чтение)
create_employees доступ к сервису "Зарплатный проект" (создание)
read_acquiring_partner доступ к сервису "Информация по Терминалам" (чтение)

Данный запрос открывает страницу авторизации банка, где пользователь сможет ввести личные учетные данные от Альфа Бизнес Онлайн*. После того как пользователь дал приложению необходимые разрешения, сервер авторизации вернет код авторизации. Код отправляется в строке запроса и добавляется к предоставленному URL перенаправления.

* Примечание! При тестировании процесса авторизации с использованием тестовых ключей Client ID и Client Secret, поля логина и пароля заполняются автоматически тестовыми данными. Redirect URL, указанный в приложении, должен совпадать с redirect_url, переданном в запросе.
Если URL перенаправления  https://www.client.example.com , то код будет отправлен по следующему адресу:
https://www.client.example.com/?code=theAuthorizationCode&state=opaqueStateValue
Код авторизации действителен в течение короткого периода времени и должен быть немедленно обменен на токен доступа.

ШАГ 2: Извлечение кода авторизации и обмен на токен доступа

Используйте код авторизации, полученный в ответе на предыдущий запрос, для обмена на токен доступа.

Пример запроса:

POST/token

Host: https://developerhub.alfabank.by:8273
Content-Type: application/x-www-form-urlencoded
grant_type=authorization_code
&code=theAuthorizationCode
&redirect_uri=https://www.client.example.com
&client_id=clientId
&client_secret=clientSecret

В случае успеха сервер вернет ответ:

{
"access_token": "access_token",
"token_type": "Bearer",
"expires_in": 3600,
"refresh_token": "refresh_token"
}

Полученный токен используется для доступа к API.

ШАГ 3: Обновление токена доступа

Если токен доступа (access_token) истек, и у вас все еще есть действительный токен обновления (refresh_token), вы можете обменять его на новую пару токенов.

Время жизни access_token составляет 3600 сек, refresh_token — 36000 сек.

Пример запроса:

POST/token

Host: https://developerhub.alfabank.by:8273
Content-Type: application/x-www-form-urlencoded
grant_type=refresh_token
&refresh_token=refresh_token
&client_id=clientId
&client_secret=clientSecret

Важно! "refresh_token" передаётся с заголовком Content-Type: application/x-www-form-urlencoded и должен быть URL-encoded в соответствии с Appendix B. Use of application/x-www-form-urlencoded Media Type: RFC6749.

В случае успеха сервер вернет ответ:

{
"access_token": "access_token",
"token_type": "Bearer",
"expires_in": 3600,
"refresh_token": "refresh_token"
}

Полученный токен используется для доступа к API.

Важно! В ходе опытно-промышленной эксплуатации Партнерам доступно 100 вызовов в минуту на каждый API. При необходимости расширить установленный лимит вызовов API, просим высылать Ваши пожелания на эл. адрес api@alfa-bank.by



Password Grant

Получение токена доступа происходит путем обмена ключа API, который генерируется в личном кабинете пользователя Альфа Бизнес Онлайн, на сам токен доступа.

ШАГ 1: Генерация ключа API в кабинете пользователя Альфа Бизнес Онлайн

ШАГ 2: Использование полученного ключа в запросе на получение токена*

* Примечание! При тестировании данного типа авторизации вместо ключа API в запросе используется значение «API»

Пример запроса:

POST/token

Host: https://developerhub.alfabank.by:8273
Content-Type: application/x-www-form-urlencoded
grant_type=password
&username=keyAPI
&client_id=clientId
&client_secret=clientSecret
&scope=accounts read_documents profile create_documents sign_documents cards read_currency create_currency read_employees create_employees read_acquiring_partner

Важно! "refresh_token" передаётся с заголовком Content-Type: application/x-www-form-urlencoded и должен быть URL-encoded в соответствии с Appendix B. Use of application/x-www-form-urlencoded Media Type: RFC6749.

Полученный токен используется для доступа к API.

ШАГ 3: Обновление токена доступа

Если токен доступа (access_token) истек, и у вас все еще есть действительный токен обновления (refresh_token), вы можете обменять его на новую пару токенов.

Время жизни access_token составляет 3600 сек, refresh_token — 36000 сек.

Пример запроса:

POST/token

Host: https://developerhub.alfabank.by:8273
Content-Type: application/x-www-form-urlencoded
grant_type=refresh_token
&refresh_token=refresh_token
&client_id=clientId
&client_secret=clientSecret

В случае успеха сервер вернет ответ:

{
"access_token": "access_token",
"token_type": "Bearer",
"expires_in": 3600,
"refresh_token": "refresh_token"
}

Полученный токен используется для доступа к API.

Важно! В ходе опытно-промышленной эксплуатации Партнерам доступно 100 вызовов в минуту на каждый API. При необходимости расширить установленный лимит вызовов API, просим высылать Ваши пожелания на эл. адрес api@alfa-bank.by


Получите промышленный доступ к API Авторизация

Откройте возможности вашего продукта клиентам

  • Заполните форму заявки на получение промышленного доступа к Alfa API
  • Представитель банка свяжется с вами и организует встречу для заключения договора о предоставлении промышленного доступа

Авторизуйте клиентов банка в вашем приложении по протоколу OAuth 2.0

Используйте промышленные ключи созданного вами приложения при формировании запроса на получение токена доступа. Стройте процесс авторизации с учетом использования приложения клиентами Альфа-Банка под своими учетными данными.