【发布时间】:2020-12-25 21:43:00
【问题描述】:
我已按照此文档ejabberd authentication 将 ejabberd 服务配置为使用 jwt 令牌对用户进行身份验证。在 ejabberd.yml 文件中,我配置了如下的身份验证机制
`auth_method: [jwt, sql]
jwt_key: /usr/local/etc/ejabberd/secret.jwk
default_db: sql
new_sql_schema: true
sql_type: mysql
access_rules:
jwt_only:
deny: admin
allow: all
local:
allow: all
c2s:
deny: blocked
allow: all
announce:
allow: admin
configure:
allow: admin
muc_create:
allow: all
pubsub_createnode:
allow: local
trusted_network:
allow: loopback
jwt_auth_only_rule: jwt_only
`
。从jwt.io 为用户创建 jwt 令牌,并在通过 strophe.connect() 连接到 ejabberd 时将该令牌作为密码传递,如doc 中所述。但是此日志仍然无法通过身份验证
Send XML on stream = <<"<failure xmlns='urn:ietf:params:xml:ns:xmpp-sasl'><not-authorized/><text xml:lang='en'>Invalid username or password</text></failure>">>
有没有人遇到过这个问题并设法解决了这个问题?
TIA!
【问题讨论】:
标签: jwt token ejabberd jwt-auth strophe.js