Вторичная аутентификация
После первичной аутентификации и получения списка customers, ассоциированного с учетными данными пользователя, необходимо пройти вторичную аутентификацию. Результатом будет получение jwt для работы в Системе от имени пользователя в рамках определенной Компании-клиента.
Для вторичной аутентификации параметры соответствуют первичной аутентификации за исключением того, что к параметрам строки запроса добавляется id определенного Клиента из списка customers, полученного в результате первичной аутентификации.
| endpoint | /auth/oauth/token |
|---|---|
| Параметры строки запроса / Query String Parameters | grant_type=Password |
| user_type=customer | |
username={encoded username} <-- шифруется с использованием public key | |
password={encoded password} <-- шифруется с использованием public key | |
id={customer_user_id} <-- идентификатор определенного пользователя для Клиента в Системе | |
| Request method | POST |
| Response status | 200 |
Дополнительные заголовки / Additional headers
| Content-Type | application/json |
| Authorization | Basic V0VCOg== |
Ответ / Response object
| № | Поле | Тип данных | Примечание |
|---|---|---|---|
| 1 | access_token | string | JWT |
| 2 | token_type | string | "bearer" |
| 3 | refresh_token | string | JWT |
| 4 | expires_in | long | |
| 5 | scope | string | "ALL" |
| 6 | passed_auth_factors | array | [] |
| 7 | customer_external_id | string | |
| 8 | chain_type | string | |
| 9 | role | string | |
| 10 | created | datetime | "YYYY-MM-DDTHH:mm:ss.ff" |
| 11 | role_version | long | |
| 12 | cus_unique_idn | string | |
| 13 | is_password_change | boolean | false |
| 14 | sign_level | ||
| 15 | roles_auth_factors | array | |
| 16 | auth_factor_chain | array | [] |
| 17 | role | object | |
| 18 | id | ||
| 19 | code | ||
| 20 | user_type | string | "customer" |
| 21 | suggest_add_device | boolean | |
| 22 | user_id | long | |
| 23 | role_id | long | |
| 24 | bank_branch_code | ||
| 25 | decrypted_username | ||
| 26 | can_skip | boolean | true |
| 27 | is_device_trusted | boolean | |
| 28 | otp_strategy | ||
| 29 | possible_chains | array | [] |
| 30 | customer_user_id | long | |
| 31 | customers | array of objects | Описание customer в таблице далее |
| 32 | customer_id | long | |
| 33 | digital_signature_type | string | |
| 34 | Jti | string | uuid |
Полученные данные обрабатываются на фронте и далее инициируется переход на главную страницу.
Customer object
| № | Поле | Тип данных | Примечание |
|---|---|---|---|
| 1 | id | long | Идентификатор для customer в системе |
| 2 | name | string | Название customer в системе |
Ключевым результатом вторичной аутентификации является получение jwt (access_token), который будет использоваться для авторизации при обращении к API Системы.
Пример запроса
Показать запрос
curl --location --request POST 'https://api-test.business-t.berekebank.kz/auth/oauth/token?username=[]&user_type=customer&grant_type=Password&id=11111' \
--header 'Authorization: Basic V0VCOg=='
Пример ответа
Показать ответ
{
"access_token": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJkZW1vX3VzZXIiLCJzY29wZSI6IkFMTCJ9.demo_signature",
"expires_in": 899,
"scope": "ALL",
"passed_auth_factors": [
"Password"
],
"customer_external_id": "210840000011",
"chain_type": "NEXTFACTOR",
"role": "111111",
"created": "2025-02-17T17:34:11.545",
"role_version": 0,
"cus_unique_idn": "210840000011",
"is_password_change": false,
"sign_level": "A",
"roles_auth_factors": [
{
"auth_factor_chain": [
"Password"
],
"role": {
"id": 111111111111,
"code": "111111"
}
}
],
"user_type": "customer",
"suggest_add_device": false,
"user_id": 111111111111,
"role_id": 111111111111,
"bank_branch_code": null,
"decrypted_username": "demo_user",
"can_skip": true,
"is_device_trusted": false,
"otp_strategy": "UNDEFINED",
"possible_chains": [],
"customer_user_id": 111111,
"customers": [
{
"id": 111111,
"name": "Иванов Иван"
},
{
"id": 111111,
"name": "ИП Иванов"
},
{
"id": 111111,
"name": "ИП Иванов"
},
{
"id": 111111,
"name": "Иванов Иван"
},
{
"id": 111111,
"name": "Иванов Иван"
},
{
"id": 111111,
"name": "ИП Иванов"
},
{
"id": 111111,
"name": "АО «Демо Трейд»"
},
{
"id": 111111,
"name": "ТОО «Ромашка»"
},
{
"id": 111111,
"name": "ТОО «Ромашка»"
},
{
"id": 111111,
"name": "Иванов Иван"
},
{
"id": 111111,
"name": "ИП Иванов"
}
],
"customer_id": 11,
"digital_signature_type": "KISC",
"jti": "143bade1-6789-4842-9b6e-7bc7e2e819cb"
}