我安装了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插件验证令牌。这个假设正确吗?