如何验证传递给另一个域并返回URL的随机数?

时间:2018-03-01 13:24:15

标签: json wordpress api

我正在用户api登录(domain1)上创建一个Wordpress nonce,然后将此nonce发送回请求来自的域(domain2)。从domain2开始,另一个调用domain1用于通过api检索数据,并在登录时创建nonce。此随机数用于验证此操作。

这是正确的做法,如果正确的话;为什么wp_verify_nonce的结果为false?

我的代码:

function login() {
    $creds = array();
    $creds['user_login'] = $_GET["username"];
    $creds['user_password'] = $_GET["password"];
    $user = wp_signon($creds, false);

    if (!is_wp_error($user))
    {
        $nonce = wp_create_nonce('wp_rest');
        $url =  "http://hongarijestek2/view/login.html?nonce=" . $nonce;
        wp_redirect( $url );
        exit;
    }
} 

function get_visitors( $data ) {
    global $wpdb;
    $nonce = $_GET['nonce'];
    if( wp_verify_nonce( $_GET['nonce'], 'wp-rest' ) ) {
        echo "Nonce is ok!";
    } else {
        echo "Nonce is not ok!";
        die();
    }


    $visitors = $wpdb->get_results("SELECT * FROM cp_visitors_present");

    if ( empty( $visitors ) ) {
        return null;
    }

    return $visitors;
}

0 个答案:

没有答案