迫于 OKR ,最近想做一个 iOS 团队的自动测试的分发网站,核心功能是完成测试团队人员管理和 app 信息等的展示,这涉及到苹果的 App Store Connect API 的调用
已知 apple 的 api 访问使用 jwt 认证 也通过在本地分别通过 ruby 脚本+curl 和 postman 都完成了 token 和 api 的验证,都能顺利拿到自己想要的数据
于是我认为问题不大了,就开始在本地起了一个 node 的 express 做 web 服务。先在自己电脑上试试,把网站布到本地的 node 上,但问题出现了,具体是 当通过使用 jsonwebtoken + axois 对 apple 相关 api 的调用总是 401
开始猜测是 token 不对,但通过将 token 复制到 postman 发现 token 是对的,使用同样的 token 在 postman 是能够跑通的 api 的 后来思考是忽略了 apple 的 api 都需要 https ,而我本地起的 express 只是 http 的,所以卡在了这里
基本问题算是清楚了,但为啥呢?
当使用 curl 或者 postman 都能正常成功,也没提示我 ssl 证书问题啊? 但当本地起了一个 exepress 就开始不通过,我自己理解应该是这样的:
2 过程应该可以跟 33 一致,express 服务在我理解中就是一个 node 版的 postman ,但很事实证明我是不对的,所以想象诸位请教一下该如何能达到的目的呢?
我自己也找了一些,现在的拟解决方式有
让网管给我个可以公网访问的正确的 https 证书的服务器,我将 exprss 布置到该服务器上,这样肯定是可以解决 但是,我还是觉得应该有其他的方案,特别是在测试的时候,比如有没有能实现上述 2 的过程 像大家请教 谢谢
1
kkeep 2022-08-24 11:50:13 +08:00 via Android
express 和 curl 是同一个环境验证的吗?
|
3
laoyur 2022-08-24 12:13:29 +08:00
说明你调用地不对呗,express 发出的有问题,抓它的包跟 postman 发出的对照一下
|