Вторичная аутентификация
После первичной аутентификации и получения списка 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":"","expires_in":899,"scope":"ALL","passed_auth_factors":["Password"],"customer_external_id":"111111111111","chain_type":"NEXTFACTOR","role":"111111","created":"2025-02-17T17:34:11.545","role_version":0,"cus_unique_idn":"111111111111","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":"test","can_skip":true,"is_device_trusted":false,"otp_strategy":"UNDEFINED","possible_chains":[],"customer_user_id":111111,"customers":[{"id":111111,"name":"test"},{"id":111111,"name":"ИП Test."},{"id":111111,"name":"ИП Test"},{"id":111111,"name":"Test"},{"id":111111,"name":"test"},{"id":111111,"name":"ИП Test"},{"id":111111,"name":"АО Test "},{"id":111111,"name":"ТОО \Test\""},{"id":111111,"name":"ТОО Test"},{"id":111111,"name":"Test тест тест тест тест тест тест тест тест "},{"id":111111,"name":"ИП Test"}],"customer_id":11,"digital_signature_type":"KISC","jti":"143bade1-6789-4842-9b6e-7bc7e2e819cb"}