- Created by Нестеров Михаил, last modified on Sept 15, 2025
Для работы с API вы можете использовать любые инструменты. Ниже описана настройка работы с API в Swagger, Postman, Windows Powershell, Linux Bash.
Выберите инструкцию в зависимости от типа аутентификации, настроенного на этапе конфигурирования системы в Мастере настройки.
Проверка настроек аутентификации
- Запустите Диспетчер служб IIS (Internet Information Services (IIS) Manager).
- В левом меню выберите сайт Default Web Site и раскройте список приложений cm.
- Выберите приложение api.
- В панели управления приложением выберите свойство Проверка подлинности (Authentication).
- Убедитесь, что выбрана Проверка подлинности Windows (Windows Authentication).
- Закройте Диспетчер служб IIS.
- Откройте конфигурационный файл C:\inetpub\wwwroot\cm\api.
- Убедитесь, что в параметре
authenticationустановлено значениеWindows.
Swagger
Чтобы работать с API через Swagger, внесите изменения в конфигурационный файл для приложения API:
- Откройте файл appsettings.json. Файл находится по пути C:\inetpub\wwwroot\cm\api.
- В секции
webApiSettingsв параметреenableSwaggerустановите значение true. - Сохраните изменения.
- Примените настройки на сервере Rutoken KeyBox.
Интерфейс Swagger будет доступен по ссылке https://<FQDN сервера Rutoken KeyBox>/cm/api/swagger.
При аутентификации в Swagger автоматически используются учетные данные Windows.
Postman
Postman доступен в виде приложения или в веб-интерфейсе. Ниже описана работа с API через приложение Postman.
- В левой части верхней панели управления Postman нажмите +. Откроется поле, в котором можно вводить запросы.
- Перейдите на вкладку Auth.
- В выпадающем списке выберите NTLM Authentication.
- Введите имя пользователя и пароль.
- В выпадающем списке запросов выберите тип запроса.
- Укажите URL запроса.
- Нажмите Send.
Проверка настроек аутентификации
Если сервер Rutoken KeyBox установлен на ОС Windows:
- Запустите Диспетчер служб IIS (Internet Information Services (IIS) Manager).
- В левом меню выберите сайт Default Web Site и раскройте список приложений cm.
- Выберите приложение api.
- В панели управления приложением выберите свойство Проверка подлинности (Authentication).
- Убедитесь, что выбрана Анонимная проверка подлинности (Anonymous Authentication).
- Закройте Диспетчер служб IIS.
- Откройте конфигурационный файл приложения Rutoken KeyBox API appsettings.json. Файл находится по пути C:\inetpub\wwwroot\cm\api.
- Убедитесь, что в параметре
authenticationустановлено значениеOAuth2Introspection.
Если сервер Rutoken KeyBox установлен на ОС Linux:
- Откройте конфигурационный файл приложения Rutoken KeyBox API appsettings.json. Файл находится по пути /opt/indeed/cm/api.
- Убедитесь, что в параметре
authenticationустановлено значениеOAuth2Introspection.
Swagger
Чтобы работать с API через Swagger, внесите изменения в конфигурационный файл для приложения API:
- Откройте файл appsettings.json. Файл находится по пути C:\inetpub\wwwroot\cm\api в ОС Windows и /opt/indeed/cm/api в ОС Linux.
- В секции
webApiSettingsв параметреenableSwaggerустановите значение true. - Сохраните изменения.
- Примените настройки на сервере Rutoken KeyBox.
Чтобы аутентифицироваться в Swagger:
- Откройте браузер и перейдите по ссылке
https://<FQDN сервера Rutoken KeyBox>/cm/api/swagger. - В правой части окна нажмите Authorize.
- В строке Scopes нажмите Select all.
- Нажмите Authorize.
Postman
Postman доступен в виде приложения или в веб-интерфейсе. Ниже описана работа с API через приложение Postman.
Чтобы настроить аутентификацию в Postman:
- В левой части верхней панели управления Postman нажмите +. Откроется поле, в котором можно вводить запросы.
- Перейдите на вкладку Auth.
- В выпадающем списке выберите OAuth 2.0.
- В поле Add auth data to оставьте значение по умолчанию Request Headers.
- В разделе Current Token в поле Header Prefix оставьте значение по умолчанию Bearer.
- В разделе Configure New Token укажите данные для получения токена доступа:
- Token Name – укажите имя токена;
- Grant Type – выберите значение Password Credentials;
- Access Token URL – укажите ссылку для получения токена доступа:
https://<FQDN сервера Rutoken KeyBox>/oidc/connect/token; - Client ID – укажите идентификатор сервиса API
WebApiClient; - Username – укажите имя пользователя в формате
Domain\Username; - Password – укажите пароль;
- Client Authentication – выберите Send as Basic Auth header.
- Нажмите Get New Access Token. Откроется окно с токеном.
- Нажмите Use Token.
Чтобы выполнить запрос:
- В строке запроса выберите тип.
- Укажите URL запроса.
- Нажмите Send.
Windows Powershell
Чтобы работать с API через Powershell, используйте Powershell-скрипты.
Получите токен доступа и выполните запрос:
В терминале или в файле Powershell-скрипта подготовьте следующие переменные:
$body = @{grant_type='password'; username='Domain\Username'; password='P@ssw0rd'; scope='openid webapi';client_id='WebApiClient' } $url="https://<FQDN сервера Rutoken KeyBox>/oidc/connect/token"Извлеките токен доступа (access_token) из ответа:
$resp = Invoke-RestMethod -Method Post -Uri $url -Body $body -UseDefaultCredentials $token = $resp.access_token
Добавьте полученный токен в заголовок запроса:
$headers = @{Authorization="Bearer $token"}Выполните запрос.
Invoke-RestMethod -Method Get -Uri $url -Headers $headers -UseDefaultCredentials
Linux Bash
Чтобы работать с API через Linux Bash, используйте Bash-скрипты.
Получите токен доступа и выполните запрос:
В терминале или в файле Bash-скрипта подготовьте следующие переменные:
username="DOMAIN\\username" password="P@ssw0rd" base_url="https://<FQDN сервера Rutoken KeyBox>" body="grant_type=password&username=$username&password=$password&scope=openid%20webapi&client_id=WebApiClient" token_url="$base_url/cm/oidc/connect/token"
Извлеките токен доступа (access_token) из ответа:
resp=$(curl -s -X POST $token_url -H "Content-Type: application/x-www-form-urlencoded" --data $body) token=$(echo $resp | grep -o '"access_token": "[^"]*' | cut -d'"' -f4)
Добавьте полученный токен в заголовок запроса:
headers="Authorization: Bearer $token"
Выполните запрос.
Пример GET-запросаcurl -X GET "$base_url/cm/api/Cards?state=Issued&offset=0&count=0" -H "$headers" -d ''
Пример POST-запросаcurl -X POST "$base_url/cm/api/Cards/123/Enable"-H "$headers"-d ''
Пример Bash-скрипта Expand source#!/bin/sh #User input username="DEMO\\admin" password="P@ssw0rd" base_url="https://cm-test.local" body="grant_type=password&username=$username&password=$password&scope=openid%20webapi&client_id=WebApiClient" token_url="$base_url/cm/oidc/connect/token" # Get token resp=$(curl -s -X POST $token_url -H "Content-Type: application/x-www-form-urlencoded" --data $body) # Parse token token=$(echo $resp | grep -o '"access_token": "[^"]*' | cut -d'"' -f4) # Combine header headers="Authorization: Bearer $token" # Test enable card (POST) curl -X POST "https://cm-test.local/cm/api/Cards/123/Enable" -H "accept: */*' -d '' # Test Get enabled card (GET) curl -X GET "https://cm-test.local/cm/api/Cards?state=Issued&offset=0&count=0" -H "accept: text/plain"
- No labels