监听配置变更返回403
https://github.com/nacos-group/nacos-sdk-nodejs/blob/d5e2dd8ae06006fcbb8ed2c1cc481a95991a40e3/packages/nacos-config/src/client_worker.ts#L220
此处和文档不符合https://nacos.io/en-us/docs/open-api.html
nacos服务端会解析不到tenant信息,如果用户无法访问所有namespace,则会在开启权限验证时候返回403错误
nacos服务端权限验证不会从Listening-Configs里面获取tenant等信息,只会从根节点获取,而目前nodejs的sdk里面根节点只有Listening-Configs这一个key,不包含其他几个key,和naocs英文版官方文档也不符
@dsc6636926 @rayimagewcs 老哥解决了吗? 我现在配置也是一样,能读能写,但是订阅配置就会403
nacos-config/dist/client_worker.js 代码修改了一下,第204行后面的,算是临时解决了这个问题吧,基于 [email protected]版本改的。
const { username, password, namespace } = this.options.configuration.innerConfig;
const path = this.apiRoutePath.LISTENER + `?username=${username}&password=${password}&tenant=${namespace}`;
const content = await this.httpAgent.request(path, {
method: 'POST',
data: postData,
headers: {
'Long-Pulling-Timeout': '30000',
},
timeout: 40000,
});
@YangLG-7 老哥解决了吗? 我现在配置也是一样,能读能写,但是订阅配置就会403
@rayimagewcs 老哥可以了,感谢!
nacos-config/dist/client_worker.js 代码修改了一下,第204行后面的,算是临时解决了这个问题吧,基于 [email protected]版本改的。
const { username, password, namespace } = this.options.configuration.innerConfig; const path = this.apiRoutePath.LISTENER + `?username=${username}&password=${password}&tenant=${namespace}`; const content = await this.httpAgent.request(path, { method: 'POST', data: postData, headers: { 'Long-Pulling-Timeout': '30000', }, timeout: 40000, });@YangLG-7 老哥解决了吗? 我现在配置也是一样,能读能写,但是订阅配置就会403
@rayimagewcs 老哥能提个pr么,造福下全人类,谢谢哈