如何使用 REST_API wordpress 创建用户?
Posted
技术标签:
【中文标题】如何使用 REST_API wordpress 创建用户?【英文标题】:How I can create user with REST_API wordpress? 【发布时间】: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 吗?尝试记录它。然后我注意到您通过授权标头和查询参数发送令牌。尝试排除标头并仅通过查询字符串发送,反之亦然。
【参考方案1】:
我找到了我的问题和解决方案。我从 URL 中删除 param TOKEN 并 创建选项标题
let header = new Headers("Authorization": "Bearer "+token);
let options = new RequestOptions(headers: header);
我有下一个请求
this.http.post(Config.REGISTER,
username: username,
name: displayName,
email: email,
password: password,
nonce: nonce
, options)
这对我有用。
【讨论】:
以上是关于如何使用 REST_API wordpress 创建用户?的主要内容,如果未能解决你的问题,请参考以下文章
WordPress主题制作:子主题(Child Theme)
WordPress |帖子查询 |查询帖子类别以创建子类别过滤器并将其应用于我的函数文件中的 Ajax 过滤器