Partager via


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, audsub, expnbf, iat) jtisont 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