【问题标题】:How to generate bearer token in REST api of ejabberd using POSTMAN如何使用 POSTMAN 在 ejabberd 的 REST api 中生成不记名令牌
【发布时间】:2022-01-23 17:46:09
【问题描述】:

大家好,我正在使用 ejabberd,我想生成一个不记名令牌来访问所有方法并使用 ejabberd 的 REST 获取数据。当我尝试在标头中生成带有 no auth 的不记名令牌时,它显示一个错误,即

我正在为 ejabberd_http 模块使用 5180 端口,我的配置是

    port: 5180
    ip: "::"
    module: ejabberd_http
    request_handlers:
      /admin: ejabberd_web_admin
      /api: mod_http_api
      /xmlrpc: ejabberd_xmlrpc
      /oauth": ejabberd_oauth

而api权限的配置是

oauth_access:
  - allow:
    - user:
      - "admin@localhost"  # add your user name

oauth_expire: 86400


acl:
  local:
    user_regexp: ""
  loopback:
    ip:
      - 127.0.0.0/8
      - ::1/128
      - ::FFFF:127.0.0.1/128
      - ::FFFF:43.250.158.125/16
  admin:
    user:
      - "admin@localhost"
    ip:
      - "::"
      - ::FFFF:43.250.158.125/16

api_permissions:
  "some XMLRPC commands":
    from: ejabberd_xmlrpc
    who:
      - ip:  127.0.0.1
      - user: admin@localhost
    what:
      - "*"
      # - registered_users
      # - register
      # - connected_users_number
      # - change_password
      # - check_password_hash

  "admin access":
    who:
      ip: 127.0.0.1/8
      oauth:
        scope: "ejabberd:admin"
        access:
          allow:
            acl: loopback
            acl: admin
    what:
      - "*"

  "console commands":
    from:
      - ejabberd_ctl
    who: all
    what: "*"


  "loopback access":
    who:
      - ip: "::"
    what:
      - "*"


  "public commands":
    who:
      ip: 127.0.0.1/8
    what:
      - "*"




access_rules:
  register:
    allow: all
  # configure: 
  #   - allow: all

  local:
    # allow
    allow: all
  c2s:
    # deny: blocked
    allow: all
  announce:
    allow: all
  configure:
    allow: all
  muc_create:
    allow: all
  pubsub_createnode:
    allow: local
  trusted_network:
    allow: all

我想使用其余部分将消息发送给用户,但为此我需要不记名令牌,当我尝试生成不记名令牌时显示错误请建议我解决此问题并生成不记名令牌的方法

谢谢

【问题讨论】:

    标签: xmpp ejabberd ejabberd-module ejabberd-api ejabberd-auth


    【解决方案1】:

    配置完成后:

    oauth_expire: 3600
    oauth_access:
      - allow:
        - user:
          - "admin@localhost"  # add your user name
    

    先用命令行试试:

    ❯ ejabberdctl oauth_issue_token admin@localhost 3600 "registered_users;muc_online_rooms"
    yamdcY4TGqltWCprCnunZjrz7ZNSmL8d        [<<"registered_users">>,<<"muc_online_rooms">>] 3600 seconds
    

    一旦成功,您可以尝试使用网络获取令牌,这需要更多的配置步骤。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-01-19
      • 2021-06-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-17
      • 1970-01-01
      • 2021-07-23
      相关资源
      最近更新 更多