Megosztás a következőn keresztül:


Proxy API

A Dev Proxy egy webes API-val rendelkezik, amely lehetővé teszi a proxy programozott módon történő használatát. Az API a proxybeállításokban megadott porton érhető el.

Swagger

Az API dokumentálása a Swagger használatával történik. A Swagger felhasználói felületét a böngészőben navigálva http://localhost:<apiPort>/swagger érheti el.

Üzemeltetés

Az alábbi lista az elérhető API-műveleteket jeleníti meg.

GET /proxy

Egy példányt ProxyInfo ad vissza, amely az aktuálisan futó fejlesztői proxypéldányra vonatkozó információkat tartalmazza.

Példa: Információk lekérése az aktuálisan futó fejlesztői proxypéldányról

Kérés:

GET http://localhost:8897/proxy

Válasz:

200 OK

{
  "recording": false,
  "configFile": "/Users/user/dev-proxy/devproxyrc.json"
}

POST /proxy

A jelenleg futó dev proxypéldányt szabályozza.

Példa: felvétel indítása

Kérés:

POST http://localhost:8897/proxy
content-type: application/json

{
  "recording": true
}

Válasz:

200 OK

{
  "recording": true,
  "configFile": "/Users/user/dev-proxy/devproxyrc.json"
}

Példa: rögzítés leállítása

Kérés:

POST http://localhost:8897/proxy
content-type: application/json

{
  "recording": false
}

Válasz:

200 OK

{
  "recording": false,
  "configFile": "/Users/user/dev-proxy/devproxyrc.json"
}

POST /proxy/jwtToken

JSON webes jogkivonatot (JWT) hoz létre.

Kérés:

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
}

Feljegyzés

A regisztrált jogcímek (például , iss, audsub, exp, nbf, ) jtiiatautomatikusan hozzáadódnak a jogkivonathoz. Ha a kérelemben bármelyik jogcímet megadja, az API figyelmen kívül hagyja a megadott értékeket.

Válasz:

200 OK

{
  "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1bmlxdWVfbmFtZSI6IkRldiBQcm94eSIsInN1YiI6IkRldiBQcm94eSIsImp0aSI6IjkyZjM5YzciLCJzY3AiOlsiUG9zdC5SZWFkIiwiUG9zdC5Xcml0ZSJdLCJyb2xlcyI6ImFkbWluIiwiY2xhaW0xIjoidmFsdWUiLCJjbGFpbTIiOiJ2YWx1ZSIsImF1ZCI6Imh0dHBzOi8vbXlzZXJ2ZXIuY29tIiwibmJmIjoxNzI3MTk4MjgyLCJleHAiOjE3MjcyMDE4ODIsImlhdCI6MTcyNzE5ODI4MiwiaXNzIjoiZGV2LXByb3h5In0.E_Gj9E58OrAh9uHgc-TW8DYfq8YHFrhaUTpKA4yXEIg"
}

POST /proxy/mockrequest

Modellkérést hoz létre. Egyenértékű a W billentyű lenyomásával azon a konzolon, amelyen a Dev Proxy fut.

Kérés:

POST http://localhost:8897/proxy/mockrequest

Válasz:

202 Accepted

GET /proxy/rootCertificate?format=crt

Letölti a főtanúsítvány nyilvános kulcsát PEM (Privacy Enhanced Mail) formátumban, amelyet a Dev Proxy a HTTPS-kérések visszafejtéséhez használ. Ez az API akkor hasznos, ha megbízhatónak szeretné minősíteni a főtanúsítványt a gazdagépen, miközben Dev Proxyt futtat egy Docker-tárolóban.

Jelenleg az egyetlen támogatott formátum a crt. Az API 400-es hibás kérési hibát ad vissza, ha bármilyen más formátumot ad meg, vagy egyáltalán nem ad meg formátumot.

Kérés:

GET http://localhost:8897/proxy/rootCertificate?format=crt

Válasz:

content-type: application/x-x509-ca-cert

-----BEGIN CERTIFICATE-----
[base64 encoded certificate]
-----END CERTIFICATE-----

POST /proxy/stopproxy

Kecsesen leállítja a Dev Proxyt.

Kérés:

POST http://localhost:8897/proxy/stopproxy

Válasz:

202 Accepted

Modellek

ProxyInfo

Információk a jelenleg futó Dev Proxy-példányról.

Tulajdonság Típus Leírás
recording boolean Azt jelzi, hogy a proxy jelenleg rögzíti-e a kéréseket
configFile string A Dev Proxy által használt konfigurációs fájl elérési útja (írásvédett)

JwtOptions

JWT-jogkivonat létrehozásának lehetőségei.

Tulajdonság Típus Leírás
name string A jogkivonat létrehozásához használt felhasználó neve
audience string[] A jogkivonat létrehozásához szükséges célközönségek
issuer string[] A jogkivonat kiállítója
roles string[] A jogkivonathoz hozzáadni kívánt szerepkör-jogcím
scopes string[] A jogkivonathoz hozzáadni kívánt hatókör-jogcím
claims KeyValuePair A jogkivonathoz hozzáadni kívánt jogcímek
validFor number Az időtartam (percben), amelyre a jogkivonat érvényes
signingKey string A jogkivonat aláírásához használandó kulcs. Legalább 32 karakter hosszúnak kell lennie. Ha nincs megadva, véletlenszerűen létrehozott kulcsot használ.

JwtInfo

Információ egy JWT-jogkivonatról.

Tulajdonság Típus Leírás
token string A JWT-jogkivonat