Proxy-API
Dev Proxy levereras med ett webb-API som gör att du kan interagera med proxyn programmatiskt. API:et är tillgängligt på den port som anges i proxyinställningarna.
Swagger
API:et dokumenteras med Swagger. Du kan komma åt Swagger-användargränssnittet genom att navigera till http://localhost:<apiPort>/swagger
i webbläsaren.
Operations
I följande lista visas tillgängliga API-åtgärder.
GET /proxy
Returnerar en instans av ProxyInfo
med information om den dev proxyinstans som körs.
Exempel: Hämta information om den dev proxyinstans som körs för tillfället
Begäran:
GET http://localhost:8897/proxy
Svar:
200 OK
{
"recording": false,
"configFile": "/Users/user/dev-proxy/devproxyrc.json"
}
POST /proxy
Styr den dev proxyinstans som körs just nu.
Exempel: starta inspelning
Begäran:
POST http://localhost:8897/proxy
content-type: application/json
{
"recording": true
}
Svar:
200 OK
{
"recording": true,
"configFile": "/Users/user/dev-proxy/devproxyrc.json"
}
Exempel: stoppa inspelning
Begäran:
POST http://localhost:8897/proxy
content-type: application/json
{
"recording": false
}
Svar:
200 OK
{
"recording": false,
"configFile": "/Users/user/dev-proxy/devproxyrc.json"
}
POST /proxy/raisemockrequest
Skapar en falsk begäran. Motsvarande att trycka w i konsolen där Dev Proxy körs.
Begäran:
POST http://localhost:8897/proxy/raisemockrequest
Svar:
202 Accepted
POST /proxy/stopproxy
Stänger av Dev Proxy på ett korrekt sätt.
Begäran:
POST http://localhost:8897/proxy/stopproxy
Svar:
202 Accepted
POST /proxy/createJwtToken
Genererar en JWT-token.
Begäran:
POST http://localhost:8897/proxy/createJwtToken
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
}
Kommentar
Registrerade anspråk (t.ex. iss
, sub
, aud
, exp
, nbf
, iat
, ) jti
läggs automatiskt till i token. Om du anger något av dessa anspråk i begäran ignoreras de värden som du anger.
Svar:
200 OK
{
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1bmlxdWVfbmFtZSI6IkRldiBQcm94eSIsInN1YiI6IkRldiBQcm94eSIsImp0aSI6IjkyZjM5YzciLCJzY3AiOlsiUG9zdC5SZWFkIiwiUG9zdC5Xcml0ZSJdLCJyb2xlcyI6ImFkbWluIiwiY2xhaW0xIjoidmFsdWUiLCJjbGFpbTIiOiJ2YWx1ZSIsImF1ZCI6Imh0dHBzOi8vbXlzZXJ2ZXIuY29tIiwibmJmIjoxNzI3MTk4MjgyLCJleHAiOjE3MjcyMDE4ODIsImlhdCI6MTcyNzE5ODI4MiwiaXNzIjoiZGV2LXByb3h5In0.E_Gj9E58OrAh9uHgc-TW8DYfq8YHFrhaUTpKA4yXEIg"
}
Modeller
ProxyInfo
Information om den dev proxy-instans som körs just nu.
Property | Type | Beskrivning |
---|---|---|
recording |
boolean |
Om proxyn för närvarande registrerar begäranden |
configFile |
string |
Sökväg till konfigurationsfilen som Dev Proxy använder (skrivskyddad) |
JwtOptions
Alternativ för att generera en JWT-token.
Property | Type | Beskrivning |
---|---|---|
name |
string |
Namnet på användaren som du vill skapa token för |
audience |
string[] |
Målgrupperna som du vill skapa token för |
issuer |
string[] |
Utfärdaren av token |
roles |
string[] |
Ett rollanspråk att lägga till i token |
scopes |
string[] |
Ett omfångsanspråk som ska läggas till i token |
claims |
KeyValuePair |
Anspråk att lägga till i token |
validFor |
number |
Varaktigheten (i minuter) för vilken token är giltig |
signingKey |
string |
Nyckeln som ska användas för att signera token. Måste vara minst 32 tecken långt. Om det inte anges använder du en slumpmässigt genererad nyckel. |
JwtInfo
Information om en JWT-token.
Property | Type | Beskrivning |
---|---|---|
token |
string |
JWT-token |