Авторизация
Авторизация
Сервис, позволяющий клиентам банка авторизовываться в стороннем приложении, используя надежно защищенный канал. Реализован с помощью протокола 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
Зарегистрируйтесь и авторизируйтесь на портале
![](/developerhub/site/themes/wso2_alfa/images/en/b6.jpg)
Впервые на портале Alfa Developer Hub?
- Заполните поля формы регистрации
- Ознакомьтесь с условиями соглашения и отметьте флажок согласия
- Подтвердите, что вы не робот :)
Уже есть аккаунт?
Воспользуйтесь своим логином и паролем для входа в личный аккаунт на портале
![](/developerhub/site/themes/wso2_alfa/images/en/b13.jpg)
Создайте приложение и подпишите его на API Авторизация
![](/developerhub/site/themes/wso2_alfa/images/en/b16.jpg)
Быстро, просто, безопасно
- Назовите и опишите приложение. Название приложения должно быть уникальным
- Выберите тип авторизации Password Grant
Протестируйте API Авторизация для данного приложения
![](/developerhub/site/themes/wso2_alfa/images/en/b22.jpg)
С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
- Представитель банка свяжется с вами и организует встречу для заключения договора о предоставлении промышленного доступа
![](/developerhub/site/themes/wso2_alfa/images/en/b29.jpg)
Авторизуйте клиентов банка в вашем приложении по протоколу OAuth 2.0
![](/developerhub/site/themes/wso2_alfa/images/en/guide_authorization_step5.jpg)
Используйте промышленные ключи созданного вами приложения при формировании запроса на получение токена доступа. Стройте процесс авторизации с учетом использования приложения клиентами Альфа-Банка под своими учетными данными.