Ho letto del documento https://docs.ejabberd.im/admin/api/Come accedere a ejabberd admin api via HTTP?
E mi chiedo come posso accedere a tali API tramite HTTP. Ho provato ad accedere, ma sempre 404.
Ho letto del documento https://docs.ejabberd.im/admin/api/Come accedere a ejabberd admin api via HTTP?
E mi chiedo come posso accedere a tali API tramite HTTP. Ho provato ad accedere, ma sempre 404.
Nel vostro ejabberd.yml è possibile trovare una configurazione come questa
-
port: 5280
module: ejabberd_http
request_handlers:
"/websocket": ejabberd_http_ws
Abilita API e OAuth,
-
port: 5280
module: ejabberd_http
request_handlers:
"/websocket": ejabberd_http_ws
"/api": mod_http_api
"/oauth": ejabberd_oauth
Stiamo permettendo api di avere accesso da altri linguaggi di programmazione (richiesta JSON e la risposta)
Stiamo abilitando oauth a sollevare una richiesta API e otterremo risposta (senza la quale se accediamo/api otterremo solo 401-errore non autorizzato)
Una volta completata questa configurazione, fornire una richiesta http nel browser. URL deve essere
http://localhost:5280/oauth/authorization_token?response_type=token&client_id=Client1&scope=get_roster+connected_users
get_roster e connected_users sono API punti finali Clinet1 è un nome che si può dare response_type deve essere sempre pegno
Una volta che ha colpito lo farà rendere una schermata come questa,
Inserisci i tuoi dati di amministrazione e fare clic su accetta
Poi nell'URL troverete un cambiamento simile a questa
http://localhost:5280/oauth/authorization_token?access_token=Ra9W9aRgeoUgIpN0P68SIGDaatDIVcgB&token_type=bearer&expires_in=3600&scope=get_roster%20connected_users&state=
Si può vedere un token di accesso non copyit e fare un ricciolo di ottenere gli utenti connessi. (Digitare il seguente comando nel terminale)
curl -v POST -H "X-Admin: true" -H "Authorization: Bearer Ra9W9aRgeoUgIpN0P68SIGDaatDIVcgB" http://localhost:5280/api/connected_users -d '[]'
Si otterrà una risposta JSON con tutti gli utenti connessi.
Questo è come si dovrebbe fare chiamate API in ejabberd. Spero che questo aiuti :)
effettuato ejabberd_xmlrpc nel file di ejabberd.yml commentare la seguente linee-
## To handle XML-RPC requests that provide admin credentials:
##
## -
## port: 4560
## module: ejabberd_xmlrpc
## maxsessions: 10
## timeout: 5000
## access_commands:
## xmlrpc:
## commands: all
## options: []
Tutti XMLRPC vengono inviati al seguente URL: http://host:4560/. for more detail check here
Ma Admin API ancora non funziona. Hai idea di come abilitare l'API di amministrazione di JSON? –
Se è possibile fornire i passaggi per l'attivazione dell'API sarà fantastico. –
Ho bisogno di scrivere un lavoro di back-end in PHP per registrare un nuovo utente da un'altra applicazione per ejabberd e come avrei potuto ignorare la schermata di richiesta di autorizzazione al fine di ottenere attraverso il codice? –
Utilizza il metodo di autenticazione esterno e segui [doc] (https://www.ejabberd.im/check_mysql_php) –
Grazie! È quello che voglio. –