Saltar al contenido principal
Antes de crear un cliente, debe estar autenticado en la API de Vantage. Consulte Autenticación para obtener más información.

Creación de un cliente

Para crear un cliente, deberá enviar una solicitud POST con el encabezado Authorization: Bearer <access token> a {baseUrl}/api/adminapi2/v1/tenants/{tenantId}/clients/ con los siguientes parámetros en el cuerpo de la solicitud:
ParameterDescription
clientIdEl identificador del cliente.
clientNameEl nombre del cliente (por ejemplo, el nombre de su aplicación).
allowOfflineAccessEspecifica si se generará un token de actualización junto con el token de acceso, que la aplicación puede usar para actualizar automáticamente el token de acceso sin intervención del usuario. De forma predeterminada está establecido en False.
allowRememberConsentEspecifica si el usuario puede optar por almacenar decisiones de consentimiento. De forma predeterminada está establecido en True.
backChannelLogoutSessionRequiredEspecifica si se requiere el mecanismo de cierre de sesión por canal secundario (Backchannel Logout). De forma predeterminada está establecido en True.
requireClientSecretEspecifica si se requiere un secreto de cliente. De forma predeterminada está establecido en True.
requireConsentEspecifica si se requiere una pantalla de consentimiento. De forma predeterminada está establecido en False.
allowNoPkceEspecifica si se permite el esquema de autenticación Authorization Code Flow with Proof Key for Code Exchange (PKCE). De forma predeterminada está en False, permitiendo solo el esquema de autenticación Authorization Code Flow with Proof Key for Code Exchange (PKCE).
allowedGrantTypesEspecifica los tipos de concesión que se pueden usar.
allowedCorsOriginsEspecifica si se usa el mecanismo predeterminado de intercambio de recursos de origen cruzado (CORS).
allowedScopesDefine el conjunto de recursos y datos de usuario que deben transferirse en el token. El valor del scope debe ser exactamente “openid permissions publicapi.all”.
postLogoutRedirectUrisUna lista de URI permitidas a las que redirigir después del cierre de sesión.
redirectUrisUna lista de sitios web o URL de aplicaciones permitidas para redirecciones del token de autorización. Se permiten prefijos en la URL. Si el prefijo coincide, se permitirá cualquier URL; por ejemplo: [ “https://myDomain.”, “https://myApp.myDomain.com/oauth-signin.html” ].
accessTokenLifetimeDefine el periodo durante el cual el token de acceso emitido permite el acceso del usuario a Vantage. El tiempo de vida predeterminado de un token de acceso es de 24 horas.
refreshTokenLifetimeDefine el periodo absoluto a partir de la emisión del primer token de acceso durante el cual el token de actualización emitido puede usarse para renovar el token de acceso. El tiempo de vida predeterminado de un token de actualización es de 30 días.
Importante: Al autenticarse mediante Resource Owner Password Credentials, debe establecer el parámetro allowRopc en TRUE. Tenga en cuenta que este esquema de autenticación supone que el usuario envía sus credenciales a la aplicación; por lo tanto, se recomienda usar ROPC solo si se autentica un cliente confidencial de confianza.
Solicitud de ejemplo:

En Windows

curl --location --request POST "{baseUrl}/api/adminapi2/v1/tenants/{tenantId}/clients/" 
-H "accept: application/json" \
-H "Authorization: Bearer {token}"
{ 
  "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}" 
  ]
}

En Linux

curl --location --request POST '{baseUrl}/api/adminapi2/v1/tenants/{tenantId}/clients/'
-H 'accept: application/json' \
-H 'Authorization: Bearer {token}'
{ 
  '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 respuesta del servidor incluirá una descripción del cliente creado.

Creación de un secreto

Cada cliente puede tener varios secretos. Esto permite que el cliente empiece a usar un nuevo secreto cuando venza el actual sin eliminarlo. De forma predeterminada, un secreto de cliente vence después de seis meses. Para crear un secreto, debe enviar una solicitud POST con el encabezado Authorization = Bearer <access token> a {baseUrl}/api/adminapi2/v1/tenants/{tenantId}/clients/{clientId}/secrets/ con los siguientes parámetros en el cuerpo de la solicitud:
ParámetroDescripción
descriptionDescripción del secreto del cliente. Puede ser un comentario breve para ayudarle a distinguir los secretos. Parámetro opcional.
start timeEspecifica la fecha de inicio del secreto.
expirationEspecifica la fecha de vencimiento del secreto (entre 1 día y 3 años). Por ejemplo, “2021-09-07T13:03:38.380Z”. De forma predeterminada, esta fecha se establece exactamente seis meses después de la creación del secreto.
Solicitud de ejemplo:

Para Windows

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}" 
}

Para Linux

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 respuesta del servidor a su solicitud contendrá un secreto de cliente (value) y su período de validez (startTime, expiration).
Importante: El valor del secreto de cliente solo estará disponible en el momento de su creación. Guárdelo en un lugar seguro para no perder el acceso al cliente mediante su secreto. Más adelante, solo podrá ver los tres primeros caracteres del valor del secreto de cliente (valueDisplay).