: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in
abstract class wfRESTBaseController {
* @param WP_REST_Request $request
public function verifyToken($request) {
$validToken = $this->isTokenValid($request);
!is_wp_error($validToken) &&
$this->tokenData['body']['sub'] === wfConfig::get('wordfenceCentralSiteID')
if (is_wp_error($validToken)) {
return new WP_Error('rest_forbidden_context',
__('Token is invalid.', 'wordfence'),
array('status' => rest_authorization_required_code()));
* @param WP_REST_Request $request
public function verifyTokenPremium($request) {
$validToken = $this->isTokenValid($request);
!is_wp_error($validToken) &&
$this->tokenData['body']['sub'] === 'wordfence-central-premium'
if (is_wp_error($validToken)) {
return new WP_Error('rest_forbidden_context',
__('Token is invalid.', 'wordfence'),
array('status' => rest_authorization_required_code()));
* @param WP_REST_Request $request
public function isTokenValid($request) {
$authHeader = $request->get_header('Authorization');
$authHeader = $request->get_header('X-Authorization');
if (stripos($authHeader, 'bearer ') !== 0) {
return new WP_Error('rest_forbidden_context',
__('Authorization header format is invalid.', 'wordfence'),
array('status' => rest_authorization_required_code()));
$token = trim(substr($authHeader, 7));
$this->tokenData = $jwt->decode($token);
} catch (wfJWTException $e) {
return new WP_Error('rest_forbidden_context',
array('status' => rest_authorization_required_code()));
return new WP_Error('rest_forbidden_context',
__('Token is invalid.', 'wordfence'),
array('status' => rest_authorization_required_code()));