Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Прокси-сервер разработки поставляется с веб-API, который позволяет программно взаимодействовать с прокси-сервером. API доступен на порту, указанном в параметрах прокси-сервера.
Swagger
API задокументирован с помощью Swagger. Вы можете получить доступ к пользовательскому интерфейсу Swagger, перейдя к http://localhost:<apiPort>/swagger
браузеру.
Операции
В следующем списке показаны доступные операции API.
GET /proxy
Возвращает экземпляр ProxyInfo
с информацией о текущем экземпляре прокси-сервера разработки.
Пример. Получение сведений о текущем экземпляре прокси-сервера разработки
Запрос:
GET http://localhost:8897/proxy
Ответ:
200 OK
{
"recording": false,
"configFile": "/Users/user/dev-proxy/devproxyrc.json"
}
POST /proxy
Управляет текущим экземпляром прокси-сервера разработки.
Пример: начало записи
Запрос:
POST http://localhost:8897/proxy
content-type: application/json
{
"recording": true
}
Ответ:
200 OK
{
"recording": true,
"configFile": "/Users/user/dev-proxy/devproxyrc.json"
}
Пример: остановка записи
Запрос:
POST http://localhost:8897/proxy
content-type: application/json
{
"recording": false
}
Ответ:
200 OK
{
"recording": false,
"configFile": "/Users/user/dev-proxy/devproxyrc.json"
}
POST /proxy/jwtToken
Создает веб-токен JSON (JWT).
Запрос:
POST http://localhost:8897/proxy/jwtToken
Content-Type: application/json
{
"name": "Dev Proxy",
"audiences": [
"https://myserver.com"
],
"issuer": "dev-proxy",
"roles": [
"admin"
],
"scopes": [
"Post.Read",
"Post.Write"
],
"claims": {
"claim1": "value",
"claim2": "value"
},
"validFor": 60
}
Примечание.
Зарегистрированные утверждения (например, iss
, sub
aud
nbf
exp
, , iat
) jti
автоматически добавляются в маркер. Если в запросе указано любое из этих утверждений, API игнорирует предоставленные значения.
Ответ:
200 OK
{
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1bmlxdWVfbmFtZSI6IkRldiBQcm94eSIsInN1YiI6IkRldiBQcm94eSIsImp0aSI6IjkyZjM5YzciLCJzY3AiOlsiUG9zdC5SZWFkIiwiUG9zdC5Xcml0ZSJdLCJyb2xlcyI6ImFkbWluIiwiY2xhaW0xIjoidmFsdWUiLCJjbGFpbTIiOiJ2YWx1ZSIsImF1ZCI6Imh0dHBzOi8vbXlzZXJ2ZXIuY29tIiwibmJmIjoxNzI3MTk4MjgyLCJleHAiOjE3MjcyMDE4ODIsImlhdCI6MTcyNzE5ODI4MiwiaXNzIjoiZGV2LXByb3h5In0.E_Gj9E58OrAh9uHgc-TW8DYfq8YHFrhaUTpKA4yXEIg"
}
POST /proxy/mockrequest
Вызывает макетный запрос. Эквивалент нажатия клавиши w в консоли, в которой запущен прокси-сервер разработки.
Запрос:
POST http://localhost:8897/proxy/mockrequest
Ответ:
202 Accepted
GET /proxy/rootCertificate?format=crt
Скачивает открытый ключ корневого сертификата в формате PEM (конфиденциальность расширенной почты), который прокси-сервер разработки использует для расшифровки HTTPS-запросов. Этот API полезен, если вы хотите доверять корневому сертификату на узле при запуске прокси-сервера разработки в контейнере Docker.
На данный момент единственным поддерживаемым форматом является crt
. API возвращает ошибку 400 bad request, если указать любой другой формат или не указывать формат вообще.
Запрос:
GET http://localhost:8897/proxy/rootCertificate?format=crt
Ответ:
content-type: application/x-x509-ca-cert
-----BEGIN CERTIFICATE-----
[base64 encoded certificate]
-----END CERTIFICATE-----
POST /proxy/stopproxy
Корректно завершает работу прокси-сервера разработки.
Запрос:
POST http://localhost:8897/proxy/stopproxy
Ответ:
202 Accepted
Модели
ProxyInfo
Сведения о текущем экземпляре прокси-сервера разработки.
Свойство | Type | Описание |
---|---|---|
recording |
boolean |
Указывает, записывает ли прокси-сервер запросы |
configFile |
string |
Путь к файлу конфигурации, используемому прокси-сервером разработки (только для чтения) |
JwtOptions
Параметры создания токена JWT.
Свойство | Type | Описание |
---|---|---|
name |
string |
Имя пользователя, для создания маркера для |
audience |
string[] |
Аудитории, для создания маркера для |
issuer |
string[] |
Издатель маркера |
roles |
string[] |
Утверждение роли для добавления в токен |
scopes |
string[] |
Утверждение области для добавления в токен |
claims |
KeyValuePair |
Утверждения для добавления в токен |
validFor |
number |
Длительность (в минутах), для которой маркер действителен |
signingKey |
string |
Ключ, используемый для подписи маркера. Должно быть не менее 32 символов длиной. Если не указано, используется случайный ключ. |
JwtInfo
Сведения о токене JWT.
Свойство | Type | Описание |
---|---|---|
token |
string |
Токен JWT |