Passer au contenu principal

Documentation Index

Fetch the complete documentation index at: https://docs.abbyy.com/llms.txt

Use this file to discover all available pages before exploring further.

Créez des clients API par code lorsque vous devez automatiser le provisionnement, par exemple dans le cadre d’une infrastructure-as-code ou lors de l’intégration de plusieurs applications à grande échelle. Avant de créer un client, authentifiez-vous auprès de l’API Vantage. Pour plus de détails, consultez Authentification.

Création d’un client

Envoyez une requête POST avec l’en-tête Authorization: Bearer <access token> à l’adresse {baseUrl}/api/adminapi2/v1/tenants/{tenantId}/clients/, en utilisant les paramètres de corps de requête suivants :
ParameterDescription
clientIdL’identifiant du client.
clientNameLe nom du client (par exemple, le nom de votre application).
allowOfflineAccessIndique si un jeton d’actualisation est généré en plus du jeton d’accès. L’application peut utiliser le jeton d’actualisation pour renouveler le jeton d’accès sans intervention de l’utilisateur. Par défaut : false.
allowRememberConsentIndique si l’utilisateur peut choisir d’enregistrer ses choix de consentement. Par défaut : true.
backChannelLogoutSessionRequiredIndique si le mécanisme de déconnexion via canal arrière (Backchannel Logout) est requis. Par défaut : true.
requireClientSecretIndique si un secret client est requis. Par défaut : true.
requireConsentIndique si un écran de consentement est requis. Par défaut : false.
allowNoPkceIndique si le flux Authorization Code sans Proof Key for Code Exchange (PKCE) est autorisé. Par défaut : false, ce qui signifie que seul le flux Authorization Code avec PKCE est autorisé.
allowedGrantTypesLes types d’autorisation que le client peut utiliser.
allowedCorsOriginsIndique si le mécanisme par défaut de partage de ressources entre origines multiples (CORS) est utilisé.
allowedScopesLes portées transmises dans le jeton. Doit être un array contenant exactement "openid", "permissions" et "publicapi.all".
postLogoutRedirectUrisListe des URI autorisées vers lesquelles rediriger après la déconnexion.
redirectUrisListe des URL de sites web ou d’applications autorisées pour les redirections du jeton d’autorisation. Les préfixes sont autorisés — si un préfixe correspond, toute URL qui en dépend est autorisée. Par exemple : ["https://myDomain.", "https://myApp.myDomain.com/oauth-signin.html"].
accessTokenLifetimeLa période pendant laquelle un jeton d’accès émis donne accès à Vantage. Par défaut : 24 heures.
refreshTokenLifetimeLa période absolue, à compter de l’émission du premier jeton d’accès, pendant laquelle le jeton d’actualisation peut être utilisé pour renouveler le jeton d’accès. Par défaut : 30 jours.
Lors de l’authentification à l’aide de Resource Owner Password Credentials (ROPC), définissez allowRopc sur true. ROPC exige que l’utilisateur envoie directement ses identifiants à l’application ; utilisez-le donc uniquement pour des clients confidentiels approuvés.

Exemple de requête

curl --location --request POST '{baseUrl}/api/adminapi2/v1/tenants/{tenantId}/clients/' \
  -H 'accept: application/json' \
  -H 'Authorization: Bearer {token}' \
  -H 'Content-Type: application/json' \
  -d '{
    "clientId": "{clientId}",
    "clientName": "{clientName}",
    "allowOfflineAccess": true,
    "allowRememberConsent": true,
    "backChannelLogoutSessionRequired": true,
    "requireClientSecret": true,
    "requireConsent": false,
    "allowNoPkce": true,
    "allowedGrantTypes": ["{allowedGrantTypes}"],
    "allowedCorsOrigins": ["{allowedCorsOrigins}"],
    "allowedScopes": ["openid", "permissions", "publicapi.all"],
    "postLogoutRedirectUris": ["{postLogoutRedirectUris}"],
    "redirectUris": ["{redirectUris}"]
  }'
La réponse contient la description du client créé.

Création d’un secret

Chaque client peut avoir plusieurs secrets. Cela permet au client de commencer à utiliser un nouveau secret à l’expiration du secret actuel, sans supprimer l’ancien. Par défaut, un secret client expire après six mois. Envoyez une requête POST avec l’en-tête Authorization: Bearer <access token> à {baseUrl}/api/adminapi2/v1/tenants/{tenantId}/clients/{clientId}/secrets/ avec les paramètres suivants dans le corps de la requête :
ParameterDescription
descriptionUne brève description pour vous aider à distinguer les secrets. Facultatif.
startTimeLa date de début du secret.
expirationLa date d’expiration du secret (entre 1 jour et 3 ans). Par exemple, 2021-09-07T13:03:38.380Z. Par défaut, cette date est définie à exactement six mois après la date de création du secret.

Exemple de requête

curl --location --request POST '{baseUrl}/api/adminapi2/v1/tenants/{tenantId}/clients/{clientId}/secrets/' \
  -H 'accept: application/json' \
  -H 'Authorization: Bearer {token}' \
  -H 'Content-Type: application/json-patch+json' \
  -d '{
    "description": "{description}",
    "startTime": "{startTime}",
    "expiration": "{expiration}"
  }'
La réponse contient le secret client (value) et sa période de validité (startTime, expiration).
La valeur du secret client n’est disponible qu’au moment de sa création. Conservez-la en lieu sûr — par la suite, vous ne pourrez consulter que les trois premiers caractères de la valeur (valueDisplay).

Gestion des clients de l’API Vantage

Vue d’ensemble de la gestion des clients d’API dans votre tenant

Créer, configurer et supprimer un client d’API public

Alternative via l’UI : créez et configurez des clients dans l’UI de Vantage

Création d’un tenant via l’API Vantage

Provisionnement programmatique d’un tenant

Authentification

Flux de connexion et options OAuth 2.0 / SAML 2.0