Cum să folosești WP-REST API pentru autentificarea utilizatorului și obținerea datelor pentru aplicația Android?
Doresc să folosesc Wordpress REST API pentru autentificare și obținerea datelor utilizatorului în aplicația Android.
Folosesc tabelul wp_users pentru utilizatori și un tabel personalizat pentru informațiile utilizatorului.
Am încercat să scriu propriul meu REST API dar pentru asta trebuie să fac $wpdb accesibil în afara instalării WordPress.
Vă rog să oferiți soluția dumneavoastră care include și funcționalitatea de API-KEY sau ceva similar.
Mulțumesc

Am găsit cea mai simplă soluție folosind pluginul WP-REST API, mai întâi configurați acest lucru în mediul vostru:
1.) În fișierul functions.php
al temei voastre, înregistrați cârlige pentru endpoint-urile API:
add_action( 'rest_api_init', 'register_api_hooks' );
// Endpoint-uri API personalizate pentru WP-REST API
function register_api_hooks() {
register_rest_route(
'custom-plugin', '/login/',
array(
'methods' => 'POST',
'callback' => 'login',
)
);
function login() {
$output = array();
// Logica voastră aici.
return $output;
}
2.) Implicit, dacă aveți permalink-uri prietenoase activate, WordPress REST API "se află" la /wp-json/. Apoi endpoint-ul API este accesibil la domeniul-tau.com/wp-json/custom-plugin/login
cu o cerere de tip POST
.
Observați că custom-plugin/login este de fapt definit în register_rest_route în funcția PHP register_api_hooks()
Pentru cheia API folosesc Wordpress Nonces - destul de simplu ca în discuția mea de aici. Sper că aceste răspunsuri sunt utile pentru toți dezvoltatorii full stack care sunt noi la WordPress REST API

Dacă dorești doar să autentifici utilizatorii și să obții detalii despre ei, poți folosi un plugin excelent numit "JSON API AUTH".
https://wordpress.org/plugins/json-api-auth/
Următoarele metode sunt disponibile: validate_auth_cookie
, generate_auth_cookie
, clear_auth_cookie
, get_currentuserinfo
Un nonce poate fi creat apelând http://localhost/api/get_nonce/?controller=auth&method=generate_auth_cookie
Poți folosi valoarea ‘nonce’ pentru a genera un cookie. http://localhost/api/auth/generate_auth_cookie/?nonce=f4320f4a67&username=Catherine&password=password-here
Folosește cookie-ul astfel în apelurile către alte controlere: http://localhost/api/contoller-name/method-name/?cookie=Catherine|1392018917|3ad7b9f1c5c2cccb569c8a82119ca4fd
