This is an auto-generated translation

Autenticación OAuth 2.0

Varias de las API de Rapid utilizan un proceso de autenticación OAuth 2.0 en lugar de la autenticación por firma.

Más información sobre la autenticación de firmas

Establecer la autorización

La autenticación OAuth 2.0 requiere un token de acceso. Para obtener un token de acceso, enviarás una solicitud a la pasarela Expedia utilizando tus credenciales de la API. Las dos partes de tus credenciales se combinarán, se codificarán en Base64 y se enviarán como cabecera Authorization con un prefijo Basic , e.gBasic <base64>..

Ejemplo: Codifica tus credenciales en formato Base64

var client-id = postman.getEnvironmentVariable("client-id");
var client-secret= postman.getEnvironmentVariable("client-secret");
var base64Hash = CryptoJS.enc.Utf8.parse(client-id + ":" + client-secret);
var base64 = CryptoJS.enc.Base64.stringify(base64Hash);
postman.setEnvironmentVariable("base64",base64);

Nota: Si tu gestor de lanzamientos te ha proporcionado una clave Rapid API (api_key) o un secreto compartido (shared_secret), puedes utilizarlos donde el código del ejemplo pide client-id y client-secret, respectivamente. Son intercambiables en este uso.

Obtener un token de acceso opaco

Necesitarás un token de acceso opaco (es decir, que no contenga ninguna información sobre el usuario o el recurso) antes de poder hacer una petición a la API.

Solicitud de muestra

POST – https://api.ean.com/identity/oauth2/v3/token 

Header: 
Key: ‘Authorization’ 
Value: ‘Basic {base64}’

Muestra de respuesta

{ 
    "access_token": "p1xy6rxahicQPUIX_Sq6a52yFnHXpX3ImaSX9sKiUI4:XM8qZiTr1HPDc8FgBE5HLvFTFdICuRFV0-l7gFWI-WU", 
    "token_type": "bearer", 
    "expires_in": 1800, 
    "scope": "demand-solutions.demand-api-wrappers-playground.all" 
}

Utiliza el token de acceso opaco

Ahora que tienes un access_token, puedes utilizarlo para hacer peticiones a cualquier punto final que admita OAuth 2.0, como Typeahead, Geography y Cars.

GET - https://test.ean.com/v3/regions?include=standard&language=en-US&iata_location_code=SEA

Header: 
Key: 'Authorization' 
Value: 'Bearer {access_token}'
¿Te ha resultado útil esta página?
¿Cómo podemos mejorar este contenido?
¡Gracias por ayudarnos a mejorar!