Разрешить пользователям WordPress с указанной ролью взаимодействовать с серверной частью nodejs

#php #node.js #wordpress #express

#php #node.js #wordpress #экспресс

Вопрос:

Я создал веб-сайт с использованием WordPress для управления интерфейсом, а также сервер nodejs с expressjs для выполнения некоторых задач в серверной части.

Сейчас я сталкиваюсь с этой проблемой, я хочу, чтобы только аутентифицированные пользователи-администраторы на сервере WordPress могли получать доступ к некоторым конкретным конечным точкам API серверной части узла.

Итак, предположим, что я создаю страницу WordPress с формой, которая отправляет POST-запрос nodejs в конечную точку администратора ( /api/admin ).

  • Я должен сделать так, чтобы страница была доступна только администраторам, и это легко сделать с помощью настроек WordPress
  • Я должен добавить некоторые функции на сервер nodejs, которые проверяют, поступает ли запрос непосредственно от администратора WordPress, чтобы избежать, например, того, что кто-то просто отправляет запрос POST через postman

На самом деле я пытался просмотреть wp Api, но не нашел ничего полезного, я застрял на том, как мне справиться с этой проблемой и как мне следует двигаться, какие-либо советы?

Ответ №1:

Вам нужно будет проверять подлинность запросов, поступающих на ваш node.js серверная часть. Здесь вам нужно реализовать пользовательские плагины аутентификации, которыми может быть плагин jwt.

подробнее здесь https://developer.wordpress.org/rest-api/using-the-rest-api/authentication/#authentication-plugins

Таким образом, в принципе, вы можете передавать токены доступа своим node.js серверной части после аутентификации, а затем в вашем node.js серверная часть вы можете проверить этот токен и авторизовать его.