Proxy API
Le proxy de développement est fourni avec une API web qui vous permet d’interagir avec le proxy par programmation. L’API est disponible sur le port spécifié dans les paramètres du proxy.
Fichier Swagger
L’API est documentée à l’aide de Swagger. Vous pouvez accéder à l’interface utilisateur Swagger en accédant à http://localhost:<apiPort>/swagger
votre navigateur.
Opérations
La liste suivante présente les opérations d’API disponibles.
GET /proxy
Retourne une instance contenant des ProxyInfo
informations sur l’instance de proxy de développement en cours d’exécution.
Exemple : Obtenir des informations sur l’instance de proxy de développement en cours d’exécution
Demande :
GET http://localhost:8897/proxy
Réponse :
200 OK
{
"recording": false,
"configFile": "/Users/user/dev-proxy/devproxyrc.json"
}
POST /proxy
Contrôle l’instance de proxy de développement en cours d’exécution.
Exemple : démarrer l’enregistrement
Demande :
POST http://localhost:8897/proxy
content-type: application/json
{
"recording": true
}
Réponse :
200 OK
{
"recording": true,
"configFile": "/Users/user/dev-proxy/devproxyrc.json"
}
Exemple : arrêter l’enregistrement
Demande :
POST http://localhost:8897/proxy
content-type: application/json
{
"recording": false
}
Réponse :
200 OK
{
"recording": false,
"configFile": "/Users/user/dev-proxy/devproxyrc.json"
}
POST /proxy/raisemockrequest
Déclenche une demande fictif. Équivaut à appuyer sur w dans la console où le proxy de développement est en cours d’exécution.
Demande :
POST http://localhost:8897/proxy/raisemockrequest
Réponse :
202 Accepted
POST /proxy/stopproxy
Ferme normalement le proxy de développement.
Demande :
POST http://localhost:8897/proxy/stopproxy
Réponse :
202 Accepted
POST /proxy/createJwtToken
Génère un jeton JWT.
Demande :
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
}
Remarque
Les revendications inscrites (par exempleiss
, aud
sub
, exp
nbf
, iat
) jti
sont automatiquement ajoutées au jeton. Si vous spécifiez l’une de ces revendications dans la demande, les valeurs que vous fournissez sont ignorées.
Réponse :
200 OK
{
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1bmlxdWVfbmFtZSI6IkRldiBQcm94eSIsInN1YiI6IkRldiBQcm94eSIsImp0aSI6IjkyZjM5YzciLCJzY3AiOlsiUG9zdC5SZWFkIiwiUG9zdC5Xcml0ZSJdLCJyb2xlcyI6ImFkbWluIiwiY2xhaW0xIjoidmFsdWUiLCJjbGFpbTIiOiJ2YWx1ZSIsImF1ZCI6Imh0dHBzOi8vbXlzZXJ2ZXIuY29tIiwibmJmIjoxNzI3MTk4MjgyLCJleHAiOjE3MjcyMDE4ODIsImlhdCI6MTcyNzE5ODI4MiwiaXNzIjoiZGV2LXByb3h5In0.E_Gj9E58OrAh9uHgc-TW8DYfq8YHFrhaUTpKA4yXEIg"
}
Modèles
ProxyInfo
Informations sur l’instance de proxy de développement en cours d’exécution.
Propriété | Type | Description |
---|---|---|
recording |
boolean |
Indique si le proxy enregistre actuellement les demandes |
configFile |
string |
Chemin d’accès au fichier de configuration utilisé par le proxy de développement (en lecture seule) |
JwtOptions
Options de génération d’un jeton JWT.
Propriété | Type | Description |
---|---|---|
name |
string |
Nom de l’utilisateur à créer le jeton pour |
audience |
string[] |
Audiences à créer le jeton pour |
issuer |
string[] |
Émetteur du jeton |
roles |
string[] |
Revendication de rôle à ajouter au jeton |
scopes |
string[] |
Revendication d’étendue à ajouter au jeton |
claims |
KeyValuePair |
Revendications à ajouter au jeton |
validFor |
number |
Durée (en minutes) pour laquelle le jeton est valide |
signingKey |
string |
Clé à utiliser pour signer le jeton. Doit comporter au moins 32 caractères. S’il n’est pas spécifié, utilise une clé générée de manière aléatoire. |
JwtInfo
Informations sur un jeton JWT.
Propriété | Type | Description |
---|---|---|
token |
string |
Jeton JWT |