【发布时间】:2018-05-23 12:08:25
【问题描述】:
我需要在 Wordpress 上创建用户。我使用 WP_REST_API - 这是 WP 的默认 API。你可以看一下“YOU_SITE/wp-json/” 我有ionic3项目并且有功能。
onSubmit(values){
this.http.post(Config.WORDPRESS_URL + 'wp-json/jwt-auth/v1/token',{
username: 'admin',
password: 'pass'
})
.subscribe(
res => {
let token = res.json().token;
let header : Headers = new Headers();
header.append('Authorization','Basic ' + token);
this.http.post(Config.WORDPRESS_REST_API_URL + 'users?token=' + res.json().token,{
username: values.username,
name: values.displayName,
email: values.email,
password: values.password,
},header)
.subscribe(
result => {
console.log(result.json());
},
error => {
console.log(error.json());
}
)
},
err => {
console.log(err);
}
)
}
但我总是得到错误:
code: "rest_cannot_create_user",
message: "Sorry, but you can't create new user"
status: 401
admin:pass - 这是现场管理员,具有管理员角色。 我还添加到 .htaccess
SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1
RewriteCond %{HTTP:Authorization} ^(.*)
RewriteRule ^(.*) - [E=HTTP_AUTHORIZATION:%1]
请帮我找出错误
【问题讨论】:
-
您是否安装了文档的基本身份验证插件? developer.wordpress.org/rest-api/using-the-rest-api/…
-
是的,我为 WP REST API 安装了 JWT 身份验证
-
要使用令牌,请尝试使用“Bearer”而不是“basic”
header.append('Authorization','Bearer ' + token); -
不起作用:(
-
您确定登录返回 JWT 吗?尝试记录它。然后我注意到您通过授权标头和查询参数发送令牌。尝试排除标头并仅通过查询字符串发送,反之亦然。
标签: angularjs wordpress typescript ionic-framework ionic3