web-dev-qa-db-fra.com

Comment utiliser l'API WP-REST pour connecter un utilisateur et obtenir des données d'utilisateur pour l'application Android?

Je souhaite utiliser l'API Wordpress REST pour me connecter et obtenir des données utilisateur sur une application Android.

J'utilise la table wp_users pour l'utilisateur et une table personnalisée pour les informations de l'utilisateur.

J'ai essayé d'écrire ma propre API REST, mais pour cela, je dois rendre $ wpdb accessible en dehors de l'installation de Wordpress.

Veuillez fournir votre solution avec API-KEY, ou quelque chose de similaire, également.

Merci

4
Divyanshu Jimmy

J'ai trouvé la solution la plus simple en utilisant l'API WP-REST, commencez par définir ce plugin dans votre environnement:

1.) Dans vos thèmes, functions.php enregistrez les points d'ancrage de l'API:

add_action( 'rest_api_init', 'register_api_hooks' );
// API custom endpoints for WP-REST API
function register_api_hooks() {

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

    function login() {

        $output = array();

        // Your logic goes here.
        return $output;

    }

2.) Par défaut, si vous avez de jolis permaliens activés, l'API WordPress REST _ "vit" dans/wp-json /. Ensuite, le point de terminaison de l'API est accessible à youdomain.com/wp-json/custom-plugin/login avec une requête POST.

Notez que custom-plugin/login est en fait défini dans register_rest_route dans PHP fonction register_api_hooks ()

Pour les clés d’API, j’utilise Wordpress Nonces - assez simple, comme dans ma discussion ici . J'espère que ces réponses seront utiles à tous les développeurs complets qui découvrent Wordpress REST API

7
Divyanshu Jimmy

Si vous souhaitez simplement vous connecter et obtenir les détails de l'utilisateur, vous pouvez utiliser un excellent plugin appelé "JSON API AUTH"

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

Les méthodes suivantes sont disponibles: validate_auth_cookie, generate_auth_cookie, clear_auth_cookie, get_currentuserinfo

nonce peut être créé en appelant http://localhost/api/get_nonce/?controller=auth&method=generate_auth_cookie

Vous pouvez ensuite utiliser la valeur ‘nonce’ pour générer un cookie. http://localhost/api/auth/generate_auth_cookie/?nonce=f4320f4a67&username=Catherine&password=password-here

Utilisez ce type de cookie avec vos autres appels de contrôleur: http://localhost/api/contoller-name/method-name/?cookie=Catherine|1392018917|3ad7b9f1c5c2cccb569c8a82119ca4fd

2
Saran