JWT在ejabberd中的身份验证

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

我已经将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令牌,并在通过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`