Come creare un utente utilizzando la nuova API JSON in WordPress 4.7?
In precedenza utilizzavo i plugin JSON API e JSON USER API prima di WordPress 4.7 e ho visto la documentazione nel riferimento ReST API User, https://developer.wordpress.org/rest-api/reference/users/#create-a-user%20%22ReST%20API%20reference ma non so come iniziare. Sono sicuro che ci deve essere prima una procedura di autenticazione per ottenere un nonce, ma non so più come farlo. Apprezzerei molto se qualcuno potesse mostrarmi o indirizzarmi verso alcuni esempi di istruzioni cURL e URI sia per ottenere il nonce che per creare un utente.
Grazie in anticipo

L'API REST inclusa in WordPress non ha effettivamente un sistema di autenticazione integrato.
Se effettui l'autenticazione normale in WordPress effettuando il login, il tuo browser riceverà una serie di cookie. Se invii quei cookie insieme alla tua richiesta, questo ti autenticherà per eseguire le azioni in questione.
Se hai bisogno di aggiungere l'autenticazione per un servizio esterno, allora devi installare un plugin per gestirla. Sono disponibili diverse opzioni:
- https://wordpress.org/plugins/rest-api-oauth1/
- https://wordpress.org/plugins/application-passwords/
- https://wordpress.org/plugins/jwt-authentication-for-wp-rest-api/
Se stai solo testando in locale, esiste anche un plugin per l'autenticazione di base che ti permette di inviare semplicemente username e password con ogni richiesta nell'header Authorization:
In ogni caso, una volta ottenuto il cookie corretto o abilitato il metodo di autenticazione, creare un nuovo utente è semplice. Invia una richiesta POST a /wp-json/wp/v2/users con username, email e password come payload.
Puoi trovare questa documentazione qui:
https://developer.wordpress.org/rest-api/using-the-rest-api/
https://developer.wordpress.org/rest-api/using-the-rest-api/authentication/

Per poter 'Registrare un Utente' o 'Recuperare la Password', è necessaria l'autenticazione di un utente con ruolo 'Amministratore'. Sebbene questa sia una scelta deliberata per motivi di sicurezza, tale implementazione rende molto difficile per le applicazioni Front End implementare una semplice funzione di 'Registrazione' o 'Iscrizione'.
La soluzione semplice è utilizzare questo plugin wp-rest-user. Questo plugin soddisfa tali requisiti estendendo gli endpoint esistenti dell'API REST di WordPress.
UTILIZZO
Invia una richiesta POST a /wp-json/wp-v2/users/register
, includendo un corpo JSON con tre chiavi: username, email e password.
Invia una richiesta POST a /wp-json/wp-v2/users/lostpassword
, includendo un corpo JSON con una chiave: user_login.
Puoi utilizzare Postman come mostrato nell'immagine qui sotto
O anche una richiesta ajax, vedi il codice qui sotto
<script>
function addUserData(){
$.ajax( {
url: 'http://localhost/lapaktrip/wp-json/wp-v2/users/register',
method: 'POST',
contentType: "application/json; charset=utf-8",
dataType: "json",
data:JSON.stringify({
'username' : 'testmember',
'email' : 'testmember@gmail.com',
'password' : '123456'
})
} ).done( function ( response ) {
console.log( response );
} )
}
</script>
<button onclick="addUserData()">Invia Richiesta</button>
Spero che questa risposta possa aiutare molte persone là fuori. Buon Coding.
