Tokens de API

Autentique e autorize as APIs da plataforma de viagens do Expedia Group

Autorização e autenticação, às vezes abreviadas como AuthN e AuthZ, são funções diferentes que ajudam a proteger o acesso às suas APIs e aos seus dados.

  • A autenticação estabelece a identidade de um cliente da API, garantindo que é o seu cliente.
  • A autorização garante que um cliente tenha permissão para fazer uma determinada solicitação de API.

Sobre os tokens

O OAuth2.0 é um protocolo padrão da indústria que usa tokens (strings alfanuméricas) para estabelecer prova de autenticação e autorização. Um token inclui:

  • Identidade do cliente de API que está fazendo a solicitação.
  • Permissões concedidas ao cliente, ou seja, a lista de escopos que você atribuiu a ele.
  • Hora em que o token foi criado e por quanto tempo pode ser usado. Os tokens emitidos pela plataforma de viagens do Expedia Group são opacos, ou seja, não podem ser decodificados nem descriptografados.

Autenticação: adquirir um token

Um cliente de API deve adquirir um token antes de fazer uma solicitação de API. É nesse momento que a autenticação é realizada. Os tokens são fornecidos por meio de um ponto de extremidade de API especial que usa HTTP Basic Auth. Você deve fornecer as credenciais de API, ou seja, o ID e o segredo do cliente, como o nome de usuário e a senha.

Autorização: fornecer um token com cada solicitação de API

Um único token pode ser usado para autorizar várias solicitações de API durante a sua duração. Todos os tokens têm vida útil de 30 minutos, e seu software cliente deve adquirir um novo token antes que o atual expire.

As solicitações de API sem um token válido vão apresentar falha com um código de erro HTTP 403 (não autorizado). Esse erro ocorre quando o token:

  • estiver ausente na solicitação
  • não for emitido pela API do token
  • estiver expirado
  • não tiver os escopos obrigatórios

API do token

Use esta API para adquirir um token no seu software cliente:

curl --location --request POST 'https://api.expediagroup.com/identity/oauth2/v3/token' \
    --header 'Authorization: Basic <key>:<secret>' \
    --header 'Content-Type: application/x-www-form-urlencoded' \
    --data-urlencode 'grant_type=client_credentials'
Esta página foi útil?
Como podemos melhorar esse conteúdo?
Agradecemos por nos ajudar a melhorar.