首页 > 解决方案 > WP REST API 如何检查标头基本身份验证

问题描述

像这样的自定义端点

add_action( 'rest_api_init', function () {
    register_rest_route( 'myplugin/v1', '/author/(?P<id>\d+)', array(
        'methods' => 'GET',
        'callback' => 'my_awesome_func',
    ) );
} );

在标头中使用基本身份验证,假设“授权:基本 some64basePass”

如何检查Authorization标头中的值是否有效?

标签: wordpressapi

解决方案


这是我的解决方案。在回调函数内部,我 Authorization从标头验证如下:

function my_awesome_func($data) {
    //Get HTTP request headers 
    $auth = apache_request_headers();
    //Get only Authorization header
    $valid = $auth['Authorization'];

    // Validate
    if ($valid == 'Basic Base64UsernamePassword') {
        //Do what the function should do
    } else {
        $response = 'Please use a valid authentication';
    }

    return json_encode($response);
}

也许有更好的方法。


推荐阅读