我正在制作连接到wocommerce和wordpress api的Vue js应用程序。我希望我的用户无需登录即可查看产品,因此我从woocomerce rest api和类似的代码
中创建了消费密钥和消费者秘密@Entity(tableName = "user_table")
public class User {
private String name;
private String href;
private String avatar;
private Friends friend;
public User(String name, String href, String avatar, Friends friend) {
this.name = name;
this.href = href;
this.avatar = avatar;
this.friend = friend;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getHref() {
return href;
}
public void setHref(String href) {
this.href = href;
}
public String getAvatar() {
return avatar;
}
public void setAvatar(String avatar) {
this.avatar = avatar;
}
public Friends getFriend() {
return friend;
}
public void setFriend(Friends friend) {
this.friend = friend;
}
}
哪个效果很好。现在,当我希望用户登录后购买产品时,请使用JWT plugin进行登录。当我使用api / WP-JSON / JWT-AUTH / V1 / TOKEN登录时,我获得了完美的令牌,但是在激活此插件后,公共woocommerce API无法正常工作并抛出
Vue.prototype.$http = axios;
let auth = Buffer.from(process.env.VUE_APP_PUBLIC_WC_KEY + ':' + process.env.VUE_APP_PUBLIC_WC_SEC).toString('base64');
Vue.prototype.$http.defaults.headers.common["Authorization"] = "Basic " + auth;
Vue.prototype.$http.get(config.WOO_API + '/products/categories')
.then(
(response) => {
console.log("category response", response);
return response.data;
}
)
我了解woocomerce确实适用于jwt。当我同时将使用者密钥和秘密作为URL参数传递时,它可以工作,但存在潜在的安全风险。
因此,摘要是我希望JWT和woocommerce API都可以使用使用者密钥和机密,而不传递URL参数。请让我知道任何解决方法。