Я установил JWT-плагин , и он в основном работает: я делаю POST-запрос к [mypage] / wp-json / jwt-auth / v1 / token и я получаю верный JSON, содержащий токен.Таким образом, плагин, кажется, установлен правильно.
Затем я попробовал другую конечную точку: [mypage] /? Rest_route = / wp / v2 / users / register и ожидаетсязапрос (без заголовка авторизации) на отклоняется плагином JWT, поскольку в документации упоминается:
wp-api-jwt-auth будет перехватывать каждый вызов сервера ибудет искать заголовок авторизации, если заголовок авторизации присутствует, он попытается декодировать токен и установит пользователя в соответствии с данными, хранящимися в нем.
Но, к моему удивлению, запросработал!
Вот так на сервере настраивается конечная точка:
register_rest_route('wp/v2', 'users/register', array(
'methods' => 'POST',
'callback' => 'wc_rest_user_reg_ep_handler',
));
Я думал, что все конечные точки защищены плагином JWT?
Я читал о разрешении_callback, ноЯ думаю, что это просто метод для проверки прав доступа пользователей.Что, как мне показалось, мне не нужно, потому что я понимаю, что плагин отклоняет все недействительные запросы без маркера в любом случае.Так что в моей конечной точке я должен быть уверен, что у пользователя есть действующий токен, этого мне достаточно.
Где я ошибаюсь?
РЕДАКТИРОВАТЬ: я думаю, что мне не хватает общего понимания понятий здесь,Может ли кто-нибудь подтвердить мою догадку: если я хочу защитить свои пользовательские конечные точки с помощью аутентификации JWT, я должен добавить allow_callback, который просто выполняет проверку is_user_logged_in.Если запрос был сделан с токеном аутентификации JWT, то этот вызов вернет TRUE, в противном случае - false.Другими словами, is_user_logged_in проверяет токен с помощью плагина JWT.Это предположение верно?