SSO, WP Discourse и специальные символы в имени пользователя

На этих выходных я настроил WP Discourse, чтобы автоматически создавать учётные записи Discourse для всех, кто совершает покупку в WooCommerce. Всё заработало, и я был очень горд собой. Я даже настроил Zapier для автоматического добавления таких пользователей в группу. Но сегодня утром некто по имени Франсуа совершил покупку, и его учётная запись в Discourse не была создана.

Я проверил, работает ли всё для Chris Smith. Да, работает.

Я проверил, работает ли для Chrisç Smith. Не работает. То есть проблема в букве «c» с волнистой чертой.

Пользователь был добавлен как пользователь WordPress с именем, использующим обычную «c» без волнистой черты. В Discourse он не был добавлен.

Можно ли это исправить, или мне следует добавить его в Discourse вручную? Если я добавлю его вручную, будут ли его данные для входа синхронизироваться между WordPress и Discourse?

Вы отправляете запрос на добавление пользователя в Discourse из WordPress или из Zapier?

Что касается SSO: настроено ли так, что пользователи входят в Discourse через WordPress, или пользователи входят в WordPress через Discourse?

С помощью Wp-Discourse SSO. Zapier использовался только для добавления их в группу.

Пользователи входят в Discourse через WordPress. Думаю, я правильно это сформулировал. WordPress является провайдером SSO.

При отключенном SSO я могу создать учетную запись Discourse с именем пользователя François. Однако создать учетную запись WordPress с таким именем не получается. На WordPress появляется сообщение об ошибке: «Это имя пользователя недопустимо, так как содержит недопустимые символы. Введите корректное имя пользователя».

Используете ли вы плагин на вашем сайте WordPress для поддержки дополнительных символов в именах пользователей?

Я не использую никаких специальных плагинов для поддержки дополнительных символов, но система всё же создала имя пользователя для этого человека, просто без специального символа: francois.xxx. Что-то изменило ç на c.

Я использую WooCommerce, и именно на странице оформления заказа WooCommerce пользователи вводят свои данные для создания учётной записи. Я требую от них создать учётную запись.

Похоже, что WooCommerce удаляет недопустимые символы из имени пользователя. Может ли пользователь с именем francois.xxx войти в Discourse? Вход в Discourse должен создать для него учетную запись.

Не знаю, смогут ли они. Я не очень хочу подвергать нового клиента таким испытаниям, но попробую со своим именем пользователя chrisç и посмотрю, что получится. Я точно знаю, что когда в имени есть этот символ, они не добавляются в мой список пользователей в Discourse.

Спасибо за всю вашу помощь!

Вы можете попробовать создать учетную запись с временным адресом Gmail для тестирования.

Если вы включите настройку «Создавать или синхронизировать пользователей Discourse при входе» на вкладке провайдера SSO WP Discourse, учетные записи Discourse будут автоматически создаваться для пользователей WordPress при входе в WordPress.

Если вы добавляете пользователей в группы Discourse через Zapier, запрос завершится ошибкой, если пользователь еще не существует в Discourse. Лучший способ избежать проблем в этом случае — добавлять пользователей в группы с помощью SSO. Однако настройка этого процесса требует некоторых технических знаний: Управление членством в группах Discourse с помощью WP Discourse.

Именно это я и сделал, и это работает.

Я так и подумал. Это не такая уж большая проблема. Я могу вручную добавить несколько человек, у которых возникли проблемы.

Я старался держаться подальше от технических деталей, но, возможно, попробую ваше предложение.

Я уже говорил вам, что обожаю Discourse? Спасибо вам за всё и за всю помощь сегодня!