Ich installierte eJabberd 16.2 auf meinem Rechner. Ich versuche über Postman auf die API zuzugreifen. Wenn ich Basic Auth verwende, funktioniert alles gut.eJabberd API mit OAuth2
ich es geschafft, ein Token durch die Seite zu bekommen: http://localhost:5280/oauth/authorization_token?response_type=token&client_id=Client1&scope=get_roster+sasl_auth
Aber jedes Mal, wenn ich versuchen, durch das Hinzufügen und Berechtigungsfeld mit einem Wert Header der Anforderung der api mit dem Token für den Zugriff von: „Inhaber s7rjU649vlnVZUzaGXDtNdLQ1I4r7V2R "Ich erhalte den Fehlercode 32:" AccessRules: Das mit dem Token verknüpfte Konto hat nicht das Recht, den Vorgang auszuführen. "
Dies ist die config in eJabberd.yml Datei:
-
port: 5280
module: ejabberd_http
request_handlers:
"/http-bind": mod_http_bind
"/websocket": ejabberd_http_ws
#"/log": mod_log_http
# ##OAuth support:
"/oauth": ejabberd_oauth
# ##ReST API:
"/api": mod_http_api
## "/pub/archive": mod_http_fileserver
web_admin: true
http_bind: true
http_poll: true
register: true
captcha: false
commands_admin_access:
- allow:
- user: "[email protected]"
commands:
- add_commands: [user, admin, open]
oauth_expire: 3600
oauth_access: all
api_permissions:
- "Admin access":
- who:
- admin
- what:
- "*"
- "!stop"
Jede Idee, warum ich nicht OAuth-Token zu verwenden.
Vielen Dank für Ihre Antwort. Aber es hat das Problem nicht gelöst. Als ich "tls: true" hinzugefügt habe, konnte ich die API nicht mehr aufrufen. –
Sie haben Recht, ich dachte, da ich OAUTH Token konnte, dass ich Token zu Operationen wie Registrierung verwenden konnte, aber in der Tat konnte ich das überhaupt nicht funktionieren Ich kann es nur mit der Standardauthentifizierung Ich habe hinzugefügt ein Problem auf GitHub für das https://github.com/processone/ejabberd/issues/1491 –