Próbowałem dodać niestandardowe żądanie.Jak uzyskać bieżący zalogowany użytkownik przy użyciu Wordpress Rest Api?
add_action('rest_api_init', function() {
register_rest_route('custom', '/login', array(
'methods' => 'GET',
'callback' => function(WP_REST_Request $request) {
return wp_get_current_user();
}
));
});
Ale zawsze zwraca użytkownika o identyfikatorze = 0; Próbowałem też tak:
add_action('rest_api_init', function() {
register_rest_route('custom', '/login', array(
'methods' => 'GET',
'callback' => function(WP_REST_Request $request) {
return is_user_logged_in();
}
));
});
I zawsze zwraca wartość false. Ale użytkownik jest zalogowany na pewno.
dodałam mój własny logowanie
add_action('rest_api_init', function() {
register_rest_route('custom', '/login', array(
'methods' => 'POST',
'callback' => function(WP_REST_Request $request) {
$nonce = wp_create_nonce("wp_rest");
$user = wp_signon(array('user_login' => $_POST['username'],
'user_password' => $_POST['password'], "rememberme" => true), false);
if (is_wp_error($user)) {
return $user;
}
//do_action('wp_login', "capad");
//$user['isloggedin'] = is_user_logged_in();
return array('user' => $user,
'nonce' => $nonce);
}
));
});
I dodam "X-WP-nonce" w nagłówku na żądanie http
a teraz każde żądanie wyjścia: {"code":"rest_cookie_invalid_nonce","message":"Cookie nonce is invalid","data":{"status":403}}
Dostałeś tę pracę? Czy jesteś w stanie opublikować rozwiązanie? Dzięki – raison