• wp rest api 授权方法步骤(使用JWT Authentication插件)


    环境:wordpress 4.7 以上,WP自带的 rest api v2 

    目标:使用javascript与wp rest api交互,其中编辑、新增、删除等需要Oauth认证授权

    方法:

      步骤一: 安装wp插件 jwt-authentication-for-wp-rest-api

      步骤二: 根据jwt插件文档,修改.htaccess 

      一般服务器:

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

      wpengine:

    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/中的参数值,如:

    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值

    $.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:欢迎访问我的小站:模板世界,获取更多有用的前端资源。

  • 相关阅读:
    Java小案例——对字符串进行加密解密
    Java基础——使用三元运算符判断一个数的奇偶性
    Java基础——字母大小写转换
    多线程实现——新龟兔赛跑
    编程面试题之——简答题(持续更新...)
    多线程之——共享数据
    多线程之——线程的状态
    Android 8.0 Oreo介绍
    Android 7.0 Nougat介绍
    Android 6.0 Marshmallow介绍
  • 原文地址:https://www.cnblogs.com/w2xh/p/7149527.html
Copyright © 2020-2023  润新知