Заполнение discourse_username при отсутствии DiscourseConnect

Ой, извините — я был уверен, что уже отвечал на это, но, похоже, нет? Может, я просто об этом подумал! В любом случае:

  1. Электронная почта изначально синхронизируется через SSO как для WordPress, так и для Discourse. Однако, по многочисленным просьбам пользователей, мы позволяем изменять этот адрес в Discourse. (Оказывается, часто возникает желание получать уведомления Discourse на адрес, отличный от того, что привязан к аккаунту для входа.) Также можно изменить адрес электронной почты в WordPress, но я не знаю, делает ли кто-то это, или даже работает ли исходящая почта на этом экземпляре.

  2. Под «user id» я имел в виду «username». Имя пользователя всегда[1] берётся из SSO как для Discourse, так и для WordPress, и не может быть изменено пользователем ни в одном из случаев. По какой-то причине, мне неизвестной, но, вероятно, имевшей смысл на тот момент, в нашей системе SSO это поле называется nickname; оно сопоставляется с oauth2 json username path.


  1. На самом деле оказывается, что есть несколько аккаунтов, подобных моему, которые были созданы до внедрения SSO, и в них допущена ошибка — я значусь как «Matthew Miller» вместо mattdm. Но мы могли бы это исправить. ↩︎