Proxy API
El proxy de desarrollo incluye una API web que permite interactuar con el proxy mediante programación. La API está disponible en el puerto especificado en la configuración del proxy.
Swagger
La API se documenta mediante Swagger. Para acceder a la interfaz de usuario de Swagger, vaya a http://localhost:<apiPort>/swagger
en el explorador.
Operations
En la lista siguiente se muestran las operaciones de API disponibles.
GET /proxy
Devuelve una instancia de ProxyInfo
con información sobre la instancia de Proxy de desarrollo que se está ejecutando actualmente.
Ejemplo: Obtención de información sobre la instancia de Proxy de desarrollo actualmente en ejecución
Solicitud:
GET http://localhost:8897/proxy
Respuesta:
200 OK
{
"recording": false,
"configFile": "/Users/user/dev-proxy/devproxyrc.json"
}
POST /proxy
Controla la instancia del proxy de desarrollo que se está ejecutando actualmente.
Ejemplo: iniciar la grabación
Solicitud:
POST http://localhost:8897/proxy
content-type: application/json
{
"recording": true
}
Respuesta:
200 OK
{
"recording": true,
"configFile": "/Users/user/dev-proxy/devproxyrc.json"
}
Ejemplo: detener la grabación
Solicitud:
POST http://localhost:8897/proxy
content-type: application/json
{
"recording": false
}
Respuesta:
200 OK
{
"recording": false,
"configFile": "/Users/user/dev-proxy/devproxyrc.json"
}
POST /proxy/raisemockrequest
Genera una solicitud ficticia. Equivalente a presionar w en la consola donde se ejecuta El proxy de desarrollo.
Solicitud:
POST http://localhost:8897/proxy/raisemockrequest
Respuesta:
202 Accepted
POST /proxy/stopproxy
Cierra correctamente el proxy de desarrollo.
Solicitud:
POST http://localhost:8897/proxy/stopproxy
Respuesta:
202 Accepted
POST /proxy/createJwtToken
Genera un token JWT.
Solicitud:
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
}
Nota:
Las notificaciones registradas (por ejemploiss
, , sub
, exp
aud
, nbf
, , iat
, ) jti
se agregan automáticamente al token. Si especifica alguna de estas notificaciones en la solicitud, se omitirán los valores que proporcione.
Respuesta:
200 OK
{
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1bmlxdWVfbmFtZSI6IkRldiBQcm94eSIsInN1YiI6IkRldiBQcm94eSIsImp0aSI6IjkyZjM5YzciLCJzY3AiOlsiUG9zdC5SZWFkIiwiUG9zdC5Xcml0ZSJdLCJyb2xlcyI6ImFkbWluIiwiY2xhaW0xIjoidmFsdWUiLCJjbGFpbTIiOiJ2YWx1ZSIsImF1ZCI6Imh0dHBzOi8vbXlzZXJ2ZXIuY29tIiwibmJmIjoxNzI3MTk4MjgyLCJleHAiOjE3MjcyMDE4ODIsImlhdCI6MTcyNzE5ODI4MiwiaXNzIjoiZGV2LXByb3h5In0.E_Gj9E58OrAh9uHgc-TW8DYfq8YHFrhaUTpKA4yXEIg"
}
Models
ProxyInfo
Información sobre la instancia del proxy de desarrollo que se está ejecutando actualmente.
Propiedad | Tipo | Descripción |
---|---|---|
recording |
boolean |
Si el proxy está grabando solicitudes actualmente |
configFile |
string |
Ruta de acceso al archivo de configuración que usa el proxy de desarrollo (solo lectura) |
JwtOptions
Opciones para generar un token JWT.
Propiedad | Tipo | Descripción |
---|---|---|
name |
string |
Nombre del usuario para el que se va a crear el token |
audience |
string[] |
Audiencias para las que se va a crear el token |
issuer |
string[] |
Emisor del token |
roles |
string[] |
Una notificación de rol que se va a agregar al token |
scopes |
string[] |
Una notificación de ámbito que se va a agregar al token |
claims |
KeyValuePair |
Notificaciones que se van a agregar al token |
validFor |
number |
Duración (en minutos) para la que el token es válido |
signingKey |
string |
Clave que se va a usar para firmar el token. Debe tener al menos 32 caracteres. Si no se especifica, usa una clave generada aleatoriamente. |
JwtInfo
Información sobre un token JWT.
Propiedad | Tipo | Descripción |
---|---|---|
token |
string |
Token JWT |