From 3ea57310497e24753b1e3328004bc573b6715a57 Mon Sep 17 00:00:00 2001 From: Dominik Schilling Date: Sat, 27 Jul 2019 13:43:41 +0000 Subject: [PATCH] REST API: Pass current request object to `rest_authentication_errors` filter in `WP_REST_Server::check_authentication()`. Fixes #46907. git-svn-id: https://develop.svn.wordpress.org/trunk@45687 602fd350-edb4-49c9-b593-d223f7449a82 --- src/wp-includes/rest-api/class-wp-rest-server.php | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/src/wp-includes/rest-api/class-wp-rest-server.php b/src/wp-includes/rest-api/class-wp-rest-server.php index f34a6106e3..68be073eef 100644 --- a/src/wp-includes/rest-api/class-wp-rest-server.php +++ b/src/wp-includes/rest-api/class-wp-rest-server.php @@ -103,11 +103,13 @@ class WP_REST_Server { * Checks the authentication headers if supplied. * * @since 4.4.0 + * @since 5.3.0 Added the `$request` parameter. * + * @param WP_REST_Request $request Full data about the request. * @return WP_Error|null WP_Error indicates unsuccessful login, null indicates successful * or no authentication provided */ - public function check_authentication() { + public function check_authentication( $request ) { /** * Filters REST authentication errors. * @@ -128,11 +130,13 @@ class WP_REST_Server { * the authentication method was used, and it succeeded. * * @since 4.4.0 + * @since 5.3.0 Added the `$request` argument. * - * @param WP_Error|null|bool WP_Error if authentication error, null if authentication - * method wasn't used, true if authentication succeeded. + * @param WP_Error|null|bool $result WP_Error if authentication error, null if authentication + * method wasn't used, true if authentication succeeded. + * @param WP_REST_Request $request Full data about the request. */ - return apply_filters( 'rest_authentication_errors', null ); + return apply_filters( 'rest_authentication_errors', null, $request ); } /** @@ -323,7 +327,7 @@ class WP_REST_Server { $request->set_method( $_SERVER['HTTP_X_HTTP_METHOD_OVERRIDE'] ); } - $result = $this->check_authentication(); + $result = $this->check_authentication( $request ); if ( ! is_wp_error( $result ) ) { $result = $this->dispatch( $request );