JWT身份验证和woocommerce密钥无法同时工作

时间:2019-05-20 22:18:52

标签: javascript wordpress vue.js

我正在制作连接到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参数。请让我知道任何解决方法。

0 个答案:

没有答案