Editor: Add Nonce Endpoint

This is a follow up to #47843, implementing a PHP endpoint and inline scripts 
after the editor package updates. The action was originally added in
https://github.com/WordPress/gutenberg/pull/16683.

Fixes #48076.



Built from https://develop.svn.wordpress.org/trunk@46253


git-svn-id: http://core.svn.wordpress.org/trunk@46065 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
Ella Iseulde Van Dorpe 2019-09-23 17:47:56 +00:00
parent ef86b03619
commit 22ae908ede
4 changed files with 23 additions and 20 deletions

View File

@ -53,6 +53,7 @@ $core_actions_get = array(
'autocomplete-user', 'autocomplete-user',
'dashboard-widgets', 'dashboard-widgets',
'logged-in', 'logged-in',
'rest-nonce',
); );
$core_actions_post = array( $core_actions_post = array(

View File

@ -5268,3 +5268,12 @@ function wp_ajax_health_check_get_sizes() {
wp_send_json_success( $all_sizes ); wp_send_json_success( $all_sizes );
} }
/**
* Ajax handler to renew the REST API nonce.
*
* @since 5.3.0
*/
function wp_ajax_rest_nonce() {
exit( wp_create_nonce( 'wp_rest' ) );
}

View File

@ -651,26 +651,19 @@ function wp_default_packages_inline_scripts( &$scripts ) {
} }
$scripts->add_inline_script( $scripts->add_inline_script(
'wp-api-fetch', 'wp-api-fetch',
sprintf( join(
implode( array(
"\n", sprintf(
array( 'wp.apiFetch.nonceMiddleware = wp.apiFetch.createNonceMiddleware( "%s" );',
'( function() {', ( wp_installing() && ! is_multisite() ) ? '' : wp_create_nonce( 'wp_rest' )
' var nonceMiddleware = wp.apiFetch.createNonceMiddleware( "%s" );', ),
' wp.apiFetch.use( nonceMiddleware );', 'wp.apiFetch.use( wp.apiFetch.nonceMiddleware );',
' wp.hooks.addAction(', sprintf(
' "heartbeat.tick",', 'wp.apiFetch.nonceEndpoint = "%s";',
' "core/api-fetch/create-nonce-middleware",', admin_url( 'admin-ajax.php?action=rest-nonce' )
' function( response ) {', ),
' if ( response[ "rest_nonce" ] ) {',
' nonceMiddleware.nonce = response[ "rest_nonce" ];',
' }',
' }',
' );',
'} )();',
)
), ),
( wp_installing() && ! is_multisite() ) ? '' : wp_create_nonce( 'wp_rest' ) "\n"
), ),
'after' 'after'
); );

View File

@ -13,7 +13,7 @@
* *
* @global string $wp_version * @global string $wp_version
*/ */
$wp_version = '5.3-alpha-46252'; $wp_version = '5.3-alpha-46253';
/** /**
* Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema. * Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.