¿Cómo usar WP-REST API para iniciar sesión y obtener datos de usuario en una aplicación Android?
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

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.

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
