A-A+

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

2018年06月02日 网站建设 暂无评论 阅读 12 views 次


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

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

方法:

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

 

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

一般服务器:

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

wpengine:

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

步骤三: 根据jwt插件文档,修改wp-config.php

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

?
1
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值

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
$.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);
}
});

打赏作者
如果文章对您有所帮助请打赏支持本站发展。

您的支持将鼓励我们继续创作!

[微信] 扫描二维码打赏

[支付宝] 扫描二维码打赏

给我留言

您必须 登录 才能发表留言!

Copyright © 前端技术分享休闲玩耍去处分享-大一网 保留所有权利.   Theme  Ality

用户登录 ⁄ 注册

分享到: