环境信息
- EMQX 版本:5.0.4
- 操作系统及版本:macos 11
- 其他
问题描述
我的 grpc server 有實作了 OnClientAuthorize func ,也確定 emqx 5.0.4 有連接上,在測試 hook 的時候只有 client.authorize 這個一直無法被呼叫,想問有沒有人也遇到問題
我的 grpc server 有實作了 OnClientAuthorize func ,也確定 emqx 5.0.4 有連接上,在測試 hook 的時候只有 client.authorize 這個一直無法被呼叫,想問有沒有人也遇到問題
“client.authenticate” 這個我試過有用
問題就在 client.authorize 這個沒有作用…
看着是没问题的
client.authorize 默认的检查顺序,是
所以可以看看 AuthZ 的成功失败的统计,是否直接在这里返回了
./bin/emqx eval "ets:lookup(emqx_hooks, 'client.authorize')"
我從 dashboard 關掉其他的 AuthZ 了,但還是出現
[{hook,'client.authorize',
[{callback,{emqx_authz,authorize,[[]]},undefined,960}, <--- 這個
{callback,{emqx_exhook_handler,on_client_authorize,[]},
undefined,100}]}]
“AuthZ 的成功失败的统计” 這個要怎麼看?
那需要deubg看看了,试试看 ./bin/emqx eval "ets:tab2list(emqx_hooks)"
这个看着是对的,看看如果是这样的话,应该会走到你的 grpc 服务才对。
log 沒有報錯
p.s.
剛剛測試出來以下這種情況會成功走到我的 grpc
我懷疑是 emqx_authz 預設不是回 ignore,導致擋住整個 flow
你的猜测是对的 是这里有个bug
https://github.com/emqx/emqx/blob/master/apps/emqx_authz/src/emqx_authz.erl#L367-L380
我们 5.0.6 把它修复掉。感谢反馈
太好了,感謝
看到 5.0.6 發版了,但是這個 bug 還沒修掉?
要等下5.0.7才行,5.0.6 是为了修一个显示问题发的一个紧急版本 大概9月初的时候的版本
了解,感謝