Skip to content

Commit 21edd99

Browse files
committed
Fix Multi-site
1 parent 0373219 commit 21edd99

File tree

2 files changed

+6
-6
lines changed

2 files changed

+6
-6
lines changed

tests/wp-includes/rest-api/auth/class-test-wp-rest-key-pair.php

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -111,10 +111,11 @@ public function test_init() {
111111
* @covers ::get_rest_uri()
112112
*/
113113
public function test_get_rest_uri() {
114-
$this->assertEquals( '/wp-json/wp/v2/key-pair', WP_REST_Key_Pair::get_rest_uri() );
114+
$this->assertEquals( get_rest_url( null, '/wp/v2/key-pair' ), WP_REST_Key_Pair::get_rest_uri() );
115115

116+
// Multisite can't use plain permalinks
116117
add_filter( 'default_option_permalink_structure', '__return_false', 20, 0 );
117-
$this->assertEquals( '/index.php?rest_route=/wp/v2/key-pair', WP_REST_Key_Pair::get_rest_uri() );
118+
$this->assertEquals( get_rest_url( null, '/wp/v2/key-pair' ), WP_REST_Key_Pair::get_rest_uri() );
118119
remove_filter( 'default_option_permalink_structure', '__return_false', 20 );
119120
}
120121

wp-includes/rest-api/auth/class-wp-rest-key-pair.php

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -73,9 +73,7 @@ public function init() {
7373
* @static
7474
*/
7575
public static function get_rest_uri() {
76-
$full_url = get_rest_url( null, sprintf( '/%s/%s', self::_NAMESPACE_, self::_REST_BASE_ ) );
77-
$path = str_replace( site_url( '' ), '', $full_url ); // Remove the protocol and domain from the URI
78-
return $path;
76+
return get_rest_url( null, sprintf( '/%s/%s', self::_NAMESPACE_, self::_REST_BASE_ ) );
7977
}
8078

8179
/**
@@ -308,7 +306,8 @@ public function profile_update( $user_id ) {
308306
public function require_token( $require_token, $request_uri, $request_method ) {
309307

310308
// Don't require token authentication to manage key-pairs.
311-
if ( ( 'POST' === $request_method || 'DELETE' === $request_method ) && false !== strpos( $request_uri, self::get_rest_uri() ) ) {
309+
$is_token_uri = false !== strpos( site_url( $request_uri ), self::get_rest_uri() );
310+
if ( ( 'POST' === $request_method || 'DELETE' === $request_method ) && $is_token_uri ) {
312311
$require_token = false;
313312
}
314313

0 commit comments

Comments
 (0)