JWT在ejabberd中的身份验证
我已经将ejabberd服务配置为使用jwt令牌,通过遵循此文档对用户进行身份验证。在ejabberd.yml文件中,我配置了如下身份验证机制JWT在ejabberd中的身份验证,jwt,token,ejabberd,jwt-auth,strophe.js,Jwt,Token,Ejabberd,Jwt Auth,Strophe.js,我已经将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
`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令牌,并在通过strophe.connect()连接ejabberd时将该令牌作为密码传递,如本文所述。但是,身份验证仍然无法通过此日志
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>">>
在流上发送XML=>
有没有人面对这个问题并设法解决这个问题
蒂亚 对于陷入这一困境的任何人,我都能够使用以下配置使用jwt令牌进行身份验证 使用“k”在JWT上签名,放置密钥集 ` `秘密地。在strophe.connect()中传递jabber id和jwt令牌之后,它就连接上了。 这是我的后端配置
`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`
`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`