Autenticação OAuth 2.0
Configure a autenticação OAuth 2.0 para sua implementação Rapid API
Todas as APIs da Rapid, com exceção da API de Hospedagem, utilizam um processo de autenticação OAuth 2.0. Esta informação aplica-se a:
- API Rapid Car
- API de voo rápido
- API de Atividades Rápidas
- API rápida digitação antecipada
Nota: A API Lodging inclui autenticação por assinatura em seu esquema, mas para usar a API digitação antecipada com Lodging, você também precisará incluir a autenticação OAuth 2.0.
Leia mais sobre autenticação por assinatura.
Estabelecer autorização
A autenticação OAuth 2.0 requer um token de acesso. Para obter um token de acesso, você enviará uma solicitação ao gateway da Expedia usando suas credenciais de API. As duas partes de suas credenciais serão combinadas, codificadas em Base64 e enviadas como cabeçalho Authorization com prefixo Basic , e.g. Basic <base64>.
Exemplo: Codifique suas credenciais no 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);Obtenha um token de acesso opaco.
Você precisará de um token de acesso opaco (ou seja, um que não contenha nenhuma informação sobre o usuário ou recurso) antes de poder fazer uma solicitação à API.
Exemplo de solicitação
POST – https://api.ean.com/identity/oauth2/v3/token
Header:
Key: ‘Authorization’
Value: ‘Basic {base64}’Exemplo de resposta
{
"access_token": "p1xy6rxahicQPUIX_Sq6a52yFnHXpX3ImaSX9sKiUI4:XM8qZiTr1HPDc8FgBE5HLvFTFdICuRFV0-l7gFWI-WU",
"token_type": "bearer",
"expires_in": 1800,
"scope": "demand-solutions.demand-api-wrappers-playground.all"
}Use o token de acesso opaco
Agora que você tem um access_token, você pode usá-lo para fazer solicitações para qualquer endpoint que suporte OAuth 2.0, como digitação antecipada, Geography e Cars.
GET - https://test.ean.com/v3/regions?include=standard&language=en-US&iata_location_code=SEA
Header:
Key: 'Authorization'
Value: 'Bearer {access_token}'