From 6810884c526620378fafdae7e087182326d38b1e Mon Sep 17 00:00:00 2001 From: Matthias Pfefferle Date: Sat, 11 Nov 2023 06:00:20 +0100 Subject: [PATCH] have a filter to defer signature verification (#435) --- includes/rest/class-server.php | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/includes/rest/class-server.php b/includes/rest/class-server.php index 0e6e4cc..bf89038 100644 --- a/includes/rest/class-server.php +++ b/includes/rest/class-server.php @@ -89,6 +89,23 @@ class Server { return $response; } + /** + * Filter to defer signature verification + * + * Skip signature verification for debugging purposes or to reduce load for + * certain Activity-Types, like "Delete". + * + * @param bool $defer Whether to defer signature verification. + * @param WP_REST_Request $request The request used to generate the response. + * + * @return bool Whether to defer signature verification. + */ + $defer = \apply_filters( 'activitypub_defer_signature_verification', false, $request ); + + if ( $defer ) { + return $response; + } + // POST-Requets are always signed if ( 'GET' !== $request->get_method() ) { $verified_request = Signature::verify_http_signature( $request );