wp rest api 受權方法步驟(使用JWT Authentication插件)

環境:wordpress 4.7 以上,WP自帶的 rest api v2 javascript

目標:使用javascript與wp rest api交互,其中編輯、新增、刪除等須要Oauth認證受權php

方法:前端

  步驟一: 安裝wp插件 jwt-authentication-for-wp-rest-apijava

 

  步驟二: 根據jwt插件文檔,修改.htaccess ajax

  通常服務器:json

RewriteEngine on
RewriteCond %{HTTP:Authorization} ^(.*)
RewriteRule ^(.*) - [E=HTTP_AUTHORIZATION:%1]

  wpengine:api

SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1

  

  步驟三: 根據jwt插件文檔,修改wp-config.php服務器

define('JWT_AUTH_SECRET_KEY', 'your-top-secrect-key');
define('JWT_AUTH_CORS_ENABLE', true);

  其中的 'your-top-secrect-key' 能夠參考https://api.wordpress.org/secret-key/1.1/salt/中的參數值,如:wordpress

define('JWT_AUTH_SECRET_KEY', '=i``G+H|} fSLR f,$8~&N#paMfPzrk6,e]Dg.-<|jip(H8C%) ^uO/ l~$3},fC');

  

  步驟四:在js中請求token,而後在編輯等操做時在header中附帶上token值post

$.ajax({
  url:"http://localhost/wp-json/jwt-auth/v1/token",
  method:"POST",
  data:{
    username:"admin",
    password:"123456"
  },
  success:function(res){
    console.log(res);
    Token = res.token;
    $.ajax({
      url:"http://localhost/wp-json/wp/v2/posts/1",
      method:"POST",
      beforeSend: function(xhr) {
        xhr.setRequestHeader("Authorization", "Bearer " + Token);
      },
      data:{
        "title":"hello api"
      },
      success:function(res){
        console.log(res);
      },
      error:function(res){
        console.log(res);
      }
    });
  },
  error:function(res){
    console.log(res);
  }
});

  

ps:歡迎訪問個人小站:模板世界,獲取更多有用的前端資源。

相關文章
相關標籤/搜索