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

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:
ParameterDescripción
clientIdEl identificador del cliente.
clientNameEl nombre del cliente (p. ej., 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á en False.
allowRememberConsentEspecifica si el usuario puede optar por guardar sus decisiones de consentimiento. De forma predeterminada está en True.
backChannelLogoutSessionRequiredEspecifica si se requiere el mecanismo Backchannel Logout. De forma predeterminada está en True.
requireClientSecretEspecifica si se requiere un secreto de cliente. De forma predeterminada está en True.
requireConsentEspecifica si se requiere una pantalla de consentimiento. De forma predeterminada está 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 únicamente el esquema de autenticación Authorization Code Flow with Proof Key for Code Exchange (PKCE).
allowedGrantTypesEspecifica los tipos de concesión (grant types) que se pueden utilizar.
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”.
postLogoutRedirectUrisLista de URIs permitidas a las que redirigir después del cierre de sesión.
redirectUrisLista de sitios web o URL de aplicaciones en lista blanca para redirecciones del token de autorización. Se permiten prefijos para la URL. Si el prefijo coincide, se permitirá cualquier URL; por ejemplo: [ “https://myDomain.”, “https://myApp.myDomain.com/oauth-signin.html” ].
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 secreto nuevo cuando venza el actual sin necesidad de eliminarlo. De forma predeterminada, un secreto de cliente expira a los 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:
ParameterDescripció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 define exactamente a los seis meses desde 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}" 
}

En 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 incluirá 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 evitar 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).