Авторизация
Авторизация
Сервис, позволяющий клиентам банка авторизовываться в стороннем приложении, используя надежно защищенный канал. Реализован с помощью протокола 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
Используйте промышленные ключи созданного вами приложения при формировании запроса на получение токена доступа. Стройте процесс авторизации с учетом использования приложения клиентами Альфа-Банка под своими учетными данными.