为 Amadeus SOAP API 创建密码摘要时出现问题

Mr_Antivius

我按照文档中的说明进行操作,并尝试在 Node 中执行相同的公式,但是,当我收到11|Session|响应时,我无法正确地向服务器进行身份验证我认为该错误是对错误设置的随机数和/或密码摘要的响应。

公式: Base64(SHA1($NONCE + $TIMESTAMP + SHA1($CLEARPASSWORD)))

变量:$CLEARPASSWORD=AMADEUS, $TIMESTAMP=2015-09-30T14:12:15Z, $NONCE=c2VjcmV0bm9uY2UxMDExMQ==.

预期的哈希: +LzcaRc+ndGAcZIXmq/N7xGes+k=

我试过的代码是:

const crypto = require('crypto')
const hashedPassword = crypto.createHash('sha1').update(CLEARPASSWORD).digest() // Returns a buffer
crypto.createHash('sha1').update(NONCE + TIMESTAMP + hashedPassword).digest('base64') // Returns a Base64 String

但是,这将返回DDcZEaS5AtoVaZhsARy9MqV+Y34=如果我将 nonce 更改为它的普通 string secretnonce10111,那么我得到的gHOoqyDb9YJBrk30iabSO8nKxio=仍然是不正确的。

我不确定可能是什么问题。

Mr_Antivius

我终于弄清楚出了什么问题。问题是我试图将字符串与缓冲区连接起来,而我应该从一开始就将所有内容都设置为缓冲区。

所以,而不是

const hashedPassword = crypto.createHash('sha1').update(CLEARPASSWORD).digest()
crypto.createHash('sha1').update(NONCE + TIMESTAMP + hashedPassword).digest('base64')

应该是

const buffer = Buffer.concat([Buffer.from(NONCE), Buffer.from(TIMESTAMP), nodeCrypto.createHash('sha1').update(CLEARPASSWORD).digest()])
const hashedPassword = nodeCrypto.createHash("sha1").update(buffer).digest("base64")

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Amadeus Flight Search API在curl PHP中传递access_token时出错

将SOAP UI用于Marklogic SPARQL REST API时出现问题

iOS 10时区格式出现问题,日期创建为timeIntervalSince1970

在SOAP请求中创建SAAJ对象模型时出现问题

Django NoReverseMatch-Amadeus API

有状态Amadeus Soap Header 4在邮递员中的请求

创建View-ViewModel查找表时出现问题-您为ViewModels注册了多个视图

如何向Amadeus API发出请求?网络错误

获取数据Amadeus API Flight低价搜索

amadeus api从何处获取连锁酒店代码列表

访问Amadeus Test API(飞行灵感搜索)时出现系统错误

eBay API将XML解析为Google脚本时出现问题

Amadeus城市和机场位置API自动完成系统

为特定的SOAP请求创建WSDL

使用nusoap的Soap API XML问题?

为14.10创建click chroot时出现问题

在vRealize Orchestrator API中为Chef工作流传递CHEF:ChefHost参数时出现问题

调用 SOAP API 时出现 400Bad 请求

向 Amadeus 低票价搜索 API 运行获取请求时收到 404 错误

访问 Amadeus Developer Self-Service API 的生产密钥

检索每日费率 - Amadeus Car Rental API

amadeus api where if 所有城市代码的列表

amadeus api faultstring Content-Length 丢失 stackoverflow

Amadeus Flight Offers Search API 定制搜索

使用 Bearer Auth 令牌从我的代码调用机场和城市搜索 amadeus 自助服务 API 时出现 403 Forbidden 异常

使用 amadeus api 构建机票预订引擎时的某些错误的解释

使用 Graph API 创建 AD 组时出现问题

Amadeus 航班优惠搜索 GET API 不会返回 AA 航班

无法通过 Amadeus API 使用 guzzle 发布请求