WordPress JWT身份验证不保护自定义终结点

时间:2018-12-11 20:14:41

标签: wordpress jwt

我安装了JWT Plugin,它基本上可以正常工作:我向 [mypage] / wp-json / jwt-auth / v1 / token 发出POST请求>,然后返回包含令牌的正确JSON。因此,该插件似乎已正确安装。

然后我尝试了另一个端点: [mypage] /?rest_route = / wp / v2 / users / register ,并希望请求(无授权标头)为<由于文档中提到:

,JWT插件强烈拒绝了
  

wp-api-jwt-auth将拦截对服务器的每次调用,并将   查找授权标头(如果授权标头是   当前,它将尝试解码令牌并设置用户   根据其中存储的数据。

但是令我惊讶的是,该请求成功了!

这是在服务器上设置端点的方式:

false

我认为所有端点都受JWT插件保护吗?

我阅读了有关Permission_callback的信息,但我认为这只是一种检查用户权限的方法。我以为我不需要,因为我的理解是插件会拒绝所有无效请求而没有令牌。因此,在我的端点中,我应该确保用户具有有效的令牌,对我而言这足够。

我在哪里错了?

编辑: 我认为我对这里的概念缺乏普遍的了解。 有人可以确认我的猜测: 如果我想通过JWT身份验证保护我的自定义端点,则应该添加一个Permission_callback,它只进行“ is_user_logged_in”检查。如果请求是使用JWT身份验证令牌发出的,则此调用将返回TRUE,否则返回false。换句话说,is_user_logged_in通过JWT插件验证令牌。这个假设正确吗?

0 个答案:

没有答案