节点 WPAPI REST 与 JWT 身份验证相结合?
Node WPAPI REST with JWT Authentication combined?
我有一个带有 UI5 JavaScript 前端的 Wordpress REST-API 后端,它加载一些 Post-Data 来列出它们。
我想在前端通过一个简单的 Login-Form 来保护它。
为了获取和创建帖子,我使用 Node-WPAPI 进行基本身份验证,如下所示:
this._oWp = new WPAPI({
endpoint: 'http://<domain>/wordpress/wp-json',
username: '<user>',
password: '<pass>'
});
但这种方法不符合我的需要,因为甚至可以使用 wrog 密码创建此 WPAPI 实例。因此我必须先向受保护的路由发送请求才能知道我的密码是否正确。
为了直接知道我的登录是否正确,我的想法是首先通过“WP-API 的 JWT 身份验证”获取令牌,这确实有效,我得到了令牌。
但是我的 WPAPI 端点这样做会导致错误 "jwt_auth_bad_auth_header、"授权 header 格式错误。"
有没有办法同时使用 WPAPI 和 JWT Auth?或者登录凭据如何通过WPAPI实例进行身份验证并在登录凭据错误时直接得到通知?
我用 WPAPI-Only-Approach 管理了这个,因此只需向需要正确身份验证的 .users().me() 发送请求即可证明用户输入了正确的凭据。否则您会收到“未通过身份验证”错误。
let oWp = new WPAPI({
endpoint: <your_endpoint>,
username: this._oAuth.getProperty("/Username"),
password: this._oAuth.getProperty("/Password"),
});
oWp.users().me()
.then( user => {
this._oWp.setData(oWp);
this._oRouter.navTo('home');
}).catch( error => {
console.log(error);
});
我有一个带有 UI5 JavaScript 前端的 Wordpress REST-API 后端,它加载一些 Post-Data 来列出它们。
我想在前端通过一个简单的 Login-Form 来保护它。
为了获取和创建帖子,我使用 Node-WPAPI 进行基本身份验证,如下所示:
this._oWp = new WPAPI({
endpoint: 'http://<domain>/wordpress/wp-json',
username: '<user>',
password: '<pass>'
});
但这种方法不符合我的需要,因为甚至可以使用 wrog 密码创建此 WPAPI 实例。因此我必须先向受保护的路由发送请求才能知道我的密码是否正确。
为了直接知道我的登录是否正确,我的想法是首先通过“WP-API 的 JWT 身份验证”获取令牌,这确实有效,我得到了令牌。
但是我的 WPAPI 端点这样做会导致错误 "jwt_auth_bad_auth_header、"授权 header 格式错误。"
有没有办法同时使用 WPAPI 和 JWT Auth?或者登录凭据如何通过WPAPI实例进行身份验证并在登录凭据错误时直接得到通知?
我用 WPAPI-Only-Approach 管理了这个,因此只需向需要正确身份验证的 .users().me() 发送请求即可证明用户输入了正确的凭据。否则您会收到“未通过身份验证”错误。
let oWp = new WPAPI({
endpoint: <your_endpoint>,
username: this._oAuth.getProperty("/Username"),
password: this._oAuth.getProperty("/Password"),
});
oWp.users().me()
.then( user => {
this._oWp.setData(oWp);
this._oRouter.navTo('home');
}).catch( error => {
console.log(error);
});