To validate incoming webhooks from Zoom, add the following code snippet towards the end of your child theme’s functions.php. Please make sure you update the snippet with your App secret token.
/**
* Snippet to validate incoming webhooks from Zoom.
*/
add_filter( 'rest_request_after_callbacks', 'automator_validate_zoom_webhook', 10, 3 );
function automator_validate_zoom_webhook( $response, $handler, $request ) {
$app_secret_token = 'replace_with_your_app_secret_token'; // <<< Update this value
$request_params = $request->get_json_params();
if ( empty( $request_params['event'] ) ) {
return $response;
}
if ( 'endpoint.url_validation' !== $request_params['event'] ) {
return $response;
}
if ( empty( $request_params['payload']['plainToken'] ) ) {
return $response;
}
$plain_token = $request_params['payload']['plainToken'];
$encrypted_token = hash_hmac( 'sha256', $plain_token, $app_secret_token );
$response_body = array(
'plainToken' => $plain_token,
'encryptedToken' => $encrypted_token
);
$response = new WP_REST_Response( $response_body, 200 );
return $response;
}To get the app secret token, find your app in the list here and then go to the “Feature” tab.