OAuth 2.0 身份验证
Rapid API 中的几个采用 OAuth 2.0 身份验证流程,而不是签名身份验证。
建立授权
OAuth 2.0 身份验证需要访问令牌。要获取访问令牌,您需要使用您的 API 凭据向 Expedia 网关发送请求。您的凭据的两部分将合并,进行 Base64 编码,并作为带有 Authorization 前缀的 Basic 标头发送,e.gBasic <base64>。
示例:将您的凭据编码为 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);注意: 如果您的启动管理器提供了 Rapid API 密钥 (api_key) 或共享密钥 (shared_secret),您可以在代码示例分别调用 client-id 和 client-secret 的地方使用它们。在这种用法中,它们可以互换使用。
获取不透明访问令牌
在发出 API 请求之前,您需要一个不透明的访问令牌(即不包含任何关于用户或资源的信息的令牌)。
样品请求
POST – https://api.ean.com/identity/oauth2/v3/token
Header:
Key: ‘Authorization’
Value: ‘Basic {base64}’示例响应
{
"access_token": "p1xy6rxahicQPUIX_Sq6a52yFnHXpX3ImaSX9sKiUI4:XM8qZiTr1HPDc8FgBE5HLvFTFdICuRFV0-l7gFWI-WU",
"token_type": "bearer",
"expires_in": 1800,
"scope": "demand-solutions.demand-api-wrappers-playground.all"
}使用不透明访问令牌
现在您有了 access_token,您可以使用它向任何支持 OAuth 2.0 的端点发出请求,例如输入提示、Geography 和 Cars。
GET - https://test.ean.com/v3/regions?include=standard&language=en-US&iata_location_code=SEA
Header:
Key: 'Authorization'
Value: 'Bearer {access_token}'