Come utilizzare WP-REST API per effettuare il login dell'utente e ottenere i dati utente per un'app Android?

15 apr 2016, 10:56:06
Visualizzazioni: 49.3K
Voti: 13

Voglio utilizzare l'API REST di WordPress per effettuare il login e ottenere i dati utente su un'app Android.

Sto utilizzando la tabella wp_users per gli utenti e una tabella personalizzata per le informazioni utente.

Ho provato a scrivere la mia API REST ma per farlo dovrei rendere $wpdb accessibile al di fuori dell'installazione WordPress.

Per favore, fornite una vostra soluzione che includa anche una funzionalità di API-KEY o qualcosa di simile.

Grazie

4
Commenti

Hai trovato la soluzione?

Mithun Sarker Mithun Sarker
18 mag 2016 09:12:33

@shuvro, sì ho la soluzione, per favore controlla la mia risposta. buona fortuna con il tuo prodotto

Divyanshu Jimmy Divyanshu Jimmy
19 mag 2016 10:35:05

Hai letto questo post su make?

kaiser kaiser
23 ott 2016 16:10:33

la tua soluzione era fantastica ma le password di wordpress sono hashate :/ come hai fatto ad accedere?

Daniyal Javaid Daniyal Javaid
26 lug 2018 22:09:55
Tutte le risposte alla domanda 2
2

Ho trovato la soluzione più semplice utilizzando il plugin WP-REST API, prima configura questo nel tuo ambiente:

1.) Nel file functions.php del tuo tema, registra gli hook degli endpoint API:

add_action( 'rest_api_init', 'register_api_hooks' );
// Endpoint API personalizzati per WP-REST API
function register_api_hooks() {

    register_rest_route(
        'custom-plugin', '/login/',
        array(
            'methods'  => 'POST',
            'callback' => 'login',
        )
    );

    function login() {

        $output = array();

        // La tua logica va qui
        return $output;

    }

2.) Di default, se hai i pretty permalink abilitati, la REST API di WordPress "risiede" in /wp-json/. Quindi l'endpoint API sarà accessibile all'indirizzo tuodominio.com/wp-json/custom-plugin/login con una richiesta POST.

Nota che custom-plugin/login è effettivamente definito in register_rest_route nella funzione PHP register_api_hooks()

Per la chiave API sto usando i Wordpress Nonces - abbastanza semplice come spiegato nella mia discussione qui. Spero che queste risposte siano utili per tutti gli sviluppatori full stack che sono nuovi alla REST API di WordPress

19 mag 2016 10:34:36
Commenti

qualcuno sta cercando questo file functions.php? Eccolo qui -> wordpress\wp-content\themes\themeName\functions.php

Daniyal Javaid Daniyal Javaid
26 lug 2018 21:55:37

Sembra che la funzione di login non faccia nulla, cosa va inserito in // Your logic goes here ?

conor909 conor909
2 dic 2020 21:51:16
0

Se vuoi semplicemente effettuare il login dell'utente e ottenere i dettagli dell'utente, puoi utilizzare un eccellente plugin chiamato "JSON API AUTH"

https://wordpress.org/plugins/json-api-auth/

Sono disponibili i seguenti metodi: validate_auth_cookie, generate_auth_cookie, clear_auth_cookie, get_currentuserinfo

Il nonce può essere creato chiamando http://localhost/api/get_nonce/?controller=auth&method=generate_auth_cookie

Puoi poi utilizzare il valore 'nonce' per generare il cookie. http://localhost/api/auth/generate_auth_cookie/?nonce=f4320f4a67&username=Catherine&password=password-here

Utilizza il cookie in questo modo con le altre chiamate al controller: http://localhost/api/contoller-name/method-name/?cookie=Catherine|1392018917|3ad7b9f1c5c2cccb569c8a82119ca4fd

12 ago 2017 08:32:33