PHP:对REST请求进行身份验证?

时间:2019-03-21 作者:gordie

我确实使用REST api为正在开发的插件创建了一些自定义端点。它工作得很好,但现在我想保护这些请求:我不需要外部用户(EDIT: 我指的是远程请求),以便能够进行查询。

但我只找到有关javascript身份验证的文档(REST API Handbook).如何使用PHP实现身份验证(此处为WP 5.1.1)?

谢谢

1 个回复
SO网友:HU ist Sebastian

你所说的“外部用户”是什么意思?如果您只希望登录到您的网站的用户使用API端点,则可以过滤“rest\\u authentication\\u错误”,如所述here

将此添加到插件:

add_filter( \'rest_authentication_errors\', function( $result ) {
    if ( ! empty( $result ) ) {
        return $result;
    }
    if ( ! is_user_logged_in() ) {
        return new WP_Error( \'rest_not_logged_in\', \'You are not currently logged in.\', array( \'status\' => 401 ) );
    }
    return $result;
});
快乐的编码!