WP REST API - регистрация пользователя без аутентификации - PullRequest
0 голосов
/ 31 августа 2018

Я только начинаю с использования WP REST API. Для аутентификации я использую JSON Web Tokens.

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

Поскольку пользователь еще не вошел в систему, этот ключ еще не может быть получен.

Я предложил следующие два варианта, но не могу понять, как это сделать.

  1. Само приложение имеет ключ авторизации, с помощью которого можно сделать запрос.
  2. Отключение требования аутентификации для создания пользователя.

Если я смотрю на это неправильно, любые ответы приветствуются!

Спасибо!

1 Ответ

0 голосов
/ 01 сентября 2018

Если ваше приложение представляет собой веб-страницу, то проще всего сделать это отдельно от WordPress REST API. WordPress имеет веб-страницу http://aaa.bbb.ccc/wp-login.php?action=register, которая позволяет регистрировать новых пользователей. Чтобы включить эту веб-страницу, выберите «Панель управления» -> «Настройки» -> «Основные» -> «Членство» -> «Любой может зарегистрироваться»).

Если ваше приложение является мобильным приложением, то ваше мобильное устройство может просто отправить тот же HTTP-запрос, который отправляет http://aaa.bbb.ccc/wp-login.php?action=register. И.Е. запрос POST с параметром запроса action = зарегистрироваться с параметрами POST user_email, user_login, wp-submit = Register.

Если вы действительно настаиваете на этом, используя REST API, я думаю, что сработает следующее. (Отказ от ответственности: я на самом деле не реализовал это.)

Вам нужно будет переопределить проверку подлинности WordPress REST. Сначала создайте новую роль с возможностью 'create_users'. Во-вторых, создайте пользователя с этой ролью. Создайте одноразовый номер, который указывает, что новый пользователь должен быть зарегистрирован. Когда ваше приложение возвращает этот одноразовый номер и учетные данные пользователя в конечную точку http://aaa.bbb.ccc/wp-json/wp/v2/users, вы должны переопределить аутентификацию WordPress, чтобы назначить текущему пользователю пользователя, которого вы создали с ролью 'create_users'.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...