API 令牌
验证并授权您的 Expedia Group 旅行平台 API
授权和身份验证(有时缩写为 AuthN 和 AuthZ)功能有助于保护对 API 和数据的访问。
- 身份验证用于确定 API 客户端的身份(确保它是您的客户端)。
- 授权确保客户端拥有发出指定的 API 请求的许可。
关于令牌
OAuth2.0 是一种行业标准协议,使用令牌(字母数字字符串)来确立身份验证和授权的证据。令牌包括:
- 发出请求的 API 客户端的身份。
- 客户端已获得的权限(即您分配给它的范围列表)。
- 令牌创建的时间及其可以使用的时长。Expedia Group 旅行平台发放的令牌是不公开的,也就是说,它们无法解码或解密。
身份验证:获取令牌
API 客户端必须在发出 API 请求之前获取令牌,即执行身份验证时。令牌通过使用 HTTP Basic Auth 的特殊 API 端点提供。您必须提供 API 凭据(客户端 ID 和密钥)作为用户名和密码。
授权:为每个 API 请求提供一个令牌
单一令牌在其生命周期内可用于授权多个 API 请求。所有令牌的生命周期都为 30 分钟,客户端软件必须在当前令牌到期之前获取新令牌。
没有有效令牌的 API 请求将失败并显示 HTTP 403 错误代码(未授权)。当令牌出现以下情况时,将发生此错误:
- 请求中缺失
- 不是由令牌 API 发放
- 已过期
- 缺少所需范围
令牌 API
使用此 API 从客户端软件中获取令牌:
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'