我正在尝试为Wordpress网站构建原生Android应用。我正在使用WP REST API v2(https://wordpress.org/plugins/rest-api/)来获取帖子和其他必需的属性。我需要对用户进行身份验证,我已经为WP REST API使用了JWT身份验证(https://wordpress.org/plugins/jwt-authentication-for-wp-rest-api/) 生成和验证令牌的API工作正常。但是,当我尝试在标题中传递生成的令牌时,我会继续收到以下错误。
{
"code": "jwt_auth_bad_config",
"message": "JWT is not configurated properly, please contact the admin",
"data": {
"status": 403
}
}
关于出了什么问题的任何建议?请求帮助以使这个东西运行。
答案 0 :(得分:3)
TL; DR;
将JWT_AUTH_SECRET_KEY
的定义移至wp-config.php
文件的顶部
详细解决方案:
如插件的安装文档中所述, JWT需要一个密钥来签署令牌,这个密钥必须是唯一的,永远不会透露。
因此,您必须将此行添加到您的wp-config.php文件
中define('JWT_AUTH_SECRET_KEY', 'your-top-secrect-key');
然而,文档没有说的是,你不应该把它放在文件的末尾。 在其他定义(AUTH_KEY,SECURE_AUTH_KEY,... NONCE_SALT)之后插入此行,403错误应该消失。
我想这是因为JWT_AUTH_SECRET_KEY
的定义必须在require_once之前完成(ABSPATH。'wp-settings.php');