¿Cómo usar WP-REST API para iniciar sesión y obtener datos de usuario en una aplicación Android?

15 abr 2016, 10:56:06
Vistas: 49.3K
Votos: 13

Quiero usar la API REST de WordPress para iniciar sesión y obtener datos de usuario en una aplicación Android.

Estoy usando la tabla wp_users para usuarios y una tabla personalizada para la información de usuario.

Intenté escribir mi propia API REST pero para eso tengo que hacer que $wpdb sea accesible fuera de la instalación de WordPress.

Por favor, proporcionen su solución que incluya API-KEY, o alguna característica similar.

Gracias

4
Comentarios

¿Has encontrado la solución?

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

@shuvro, sí, tengo la solución, por favor revisa mi respuesta. Mucho éxito con tu producto

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

¿Has leído esta publicación en make?

kaiser kaiser
23 oct 2016 16:10:33

hombre, tu solución fue genial pero las contraseñas de WordPress están encriptadas :/ ¿cómo iniciaste sesión?

Daniyal Javaid Daniyal Javaid
26 jul 2018 22:09:55
Todas las respuestas a la pregunta 2
2

Encontré la solución más sencilla usando el plugin WP-REST API, primero configura esto en tu entorno:

1.) En el archivo functions.php de tu tema, registra los hooks del endpoint API:

add_action( 'rest_api_init', 'registrar_hooks_api' );
// Endpoints personalizados de API para WP-REST API
function registrar_hooks_api() {

    register_rest_route(
        'plugin-personalizado', '/iniciar-sesion/',
        array(
            'methods'  => 'POST', 
            'callback' => 'iniciar_sesion',
        )
    );

    function iniciar_sesion() {

        $salida = array();

        // Tu lógica va aquí.
        return $salida;

    }

2.) Por defecto, si tienes los enlaces permanentes bonitos activados, la API REST de WordPress "vive" en /wp-json/. Entonces el endpoint de la API es accesible en tudominio.com/wp-json/plugin-personalizado/iniciar-sesion con una solicitud POST.

Observa que plugin-personalizado/iniciar-sesion está definido en register_rest_route en la función PHP registrar_hooks_api()

Para la clave API estoy usando Nonces de Wordpress - bastante directo como explico en esta discusión. Espero que estas respuestas sean útiles para todos los desarrolladores full stack que son nuevos en la API REST de Wordpress.

19 may 2016 10:34:36
Comentarios

¿alguien está buscando este archivo functions.php? Aquí está -> wordpress\wp-content\themes\themeName\functions.php

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

Parece que esa función de login no hace nada, ¿qué va en // Your logic goes here?

conor909 conor909
2 dic 2020 21:51:16
0

Si solo deseas que el usuario inicie sesión y obtener sus detalles, puedes usar un excelente plugin llamado "JSON API AUTH"

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

Hay disponibles los siguientes métodos: validate_auth_cookie, generate_auth_cookie, clear_auth_cookie, get_currentuserinfo

El nonce puede crearse llamando a http://localhost/api/get_nonce/?controller=auth&method=generate_auth_cookie

Luego puedes usar el valor 'nonce' para generar la cookie. http://localhost/api/auth/generate_auth_cookie/?nonce=f4320f4a67&username=Catherine&password=password-here

Usa la cookie así con tus otras llamadas al controlador: http://localhost/api/contoller-name/method-name/?cookie=Catherine|1392018917|3ad7b9f1c5c2cccb569c8a82119ca4fd

12 ago 2017 08:32:33