Wordpress REST API认证

来源:互联网 发布:晨曦云免软件 编辑:程序博客网 时间:2024/05/22 12:48

有几个选项用于API验证。基本的选择归结为:

  • 你是在网站上运行的插件/主题?使用cookie认证
  • 你是一个桌面/网络/移动客户端访问外部网站?使用 OAuth身份验证,应用程序密码或基本身份验证

Cookie认证

创建nonce

<?phpwp_localize_script( 'wp-api', 'wpApiSettings', array( 'root' => esc_url_raw( rest_url() ), 'nonce' => wp_create_nonce( 'wp_rest' ) ) );

使用它

options.beforeSend = function(xhr) {    xhr.setRequestHeader('X-WP-Nonce', wpApiSettings.nonce);    if (beforeSend) {        return beforeSend.apply(this, arguments);    }};

JQuery例子:

$.ajax( {    url: wpApiSettings.root + 'wp/v2/posts/1',    method: 'POST',    beforeSend: function ( xhr ) {        xhr.setRequestHeader( 'X-WP-Nonce', wpApiSettings.nonce );    },    data:{        'title' : 'Hello Moon'    }} ).done( function ( response ) {    console.log( response );} );

注:使用easyUI的form表单提交就悲剧了,它好像不能设置请求header(如果可以,请指教)

OAuth认证

OAuth插件:
https://github.com/WP-API/OAuth1

如何使用OAuth身份验证的示例:
https://github.com/WP-API/example-client

使用

其它

具体参考:
http://v2.wp-api.org/guide/authentication/

https://oauth1.wp-api.org/

原创粉丝点击