我收到一个错误:
UnauthorizedError: InvalidSignature:令牌具有无效签名
当我试图从运行在Azure中Kubernetes集群中的nodejs码头容器访问Azure服务总线时。
值得注意的是,当我在本地运行代码时,或者仅仅在我的dev膝上型计算机上的docker容器中运行时,我不会得到这个错误,但是一旦我将容器部署到K8集群,我就会得到这个错误。
我验证了服务总线SAS主密钥在K8集群机密文件中是正确的.
下面是错误对象在K8集群中的样子:
UnauthorizedError: InvalidSignature: The token has an invalid signature. {"timestamp":"2019-01-08T05:43:48.918Z"}
debug: condition: com.microsoft:auth-failed {"timestamp":"2019-01-08T05:43:48.920Z"}
debug: info: undefined {"timestamp":"2019-01-08T05:43:48.920Z"}
debug: message: InvalidSignature: The token has an invalid signature. {"timestamp":"2019-01-08T05:43:48.924Z"}
debug: name: UnauthorizedError {"timestamp":"2019-01-08T05:43:48.924Z"}
debug: retryable: false {"timestamp":"2019-01-08T05:43:48.924Z"}
debug: stack: UnauthorizedError: InvalidSignature: The token has an invalid signature.
at Object.translate (/usr/src/app/node_modules/@azure/amqp-common/dist/lib/errors.js:527:17)
at Receiver.messageCallback (/usr/src/app/node_modules/@azure/amqp-common/dist/lib/requestResponseLink.js:109:44)
at Receiver.emit (events.js:182:13)
at emit (/usr/src/app/node_modules/rhea-promise/dist/lib/util/utils.js:129:24)
at Object.emitEvent (/usr/src/app/node_modules/rhea-promise/dist/lib/util/utils.js:140:9)
at Receiver._link.on (/usr/src/app/node_modules/rhea-promise/dist/lib/link.js:249:25)
at Receiver.emit (events.js:182:13)
at Receiver.link.dispatch (/usr/src/app/node_modules/rhea/lib/link.js:59:37)
at Incoming.on_transfer (/usr/src/app/node_modules/rhea/lib/session.js:360:22)
at Session.on_transfer (/usr/src/app/node_modules/rhea/lib/session.js:736:19) {"timestamp":"2019-01-08T05:43:48.925Z"}
debug: translated: true {"timestamp":"2019-01-08T05:43:48.925Z"}我使用@azure/service-bus作为节点包来处理azure服务总线。
任何帮助、建议或想法都受到高度赞赏。
非常感谢,非常感谢。
发布于 2019-01-08 07:14:09
在本例中,问题在于OP将SAS字符串传递给容器的方式。
https://stackoverflow.com/questions/54086090
复制相似问题