Каковы последствия изменения email-адресов пользователями OAuth2?

Мы используем OAuth2 для синхронизации учетных записей пользователей с учетными записями Fedora. Один пользователь отметил, что не хочет взаимодействовать с Discourse, используя тот же адрес электронной почты, по $ПРИЧИНАМ. Какие последствия влечет за собой возможность изменения адреса пользователя здесь? Смогут ли они по-прежнему входить в систему тем же способом? Есть ли какие-либо подводные камни, на которые мне следует обратить внимание?

Спасибо!

Они могут изменить свой адрес электронной почты в Discourse, а затем добавить OAuth2 на странице настроек, если нажмут ссылку «Добавить альтернативный адрес электронной почты».

Я только что проверил: вход через Google OAuth2 с моим вторичным адресом приводит к авторизации в этой учётной записи.

Хорошо, спасибо. Нам нужен только вход через OAuth… не нарушает ли это что-либо?

Я не совсем уверен. Если они попытаются войти через OAuth после смены адреса электронной почты, но до того, как добавят его как дополнительный, система, думаю, попытается создать новую учётную запись.

О, это было бы плохо! Есть ли, возможно, способ разрешить добавление вторичного адреса электронной почты, оставив основной неизменным?

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

Кажется, это должно сработать.

Подождите, извините, но, кажется, это не отвечает на мой вопрос. Видимо, я выразился неясно. Сейчас у нас отключена возможность редактирования email-адреса. Это фиксирует основной адрес и запрещает добавление дополнительного. Судя по всему, изменение основного адреса приведёт к проблемам («система попытается создать новую учётную запись»). Существует ли способ включить добавление дополнительного адреса электронной почты, который можно будет использовать для ответов на сообщения, не позволяя при этом изменять основной адрес?

Или вы хотите позволить пользователю редактировать свой адрес, или нет.

Основной адрес — это тот, на который Discourse отправляет письма.

Извините, давайте я переформулирую начальную часть. Её не беспокоит, что письма от Discourse приходят на этот почтовый ящик. Однако её почтовый клиент не настроен на отправку писем с этого адреса. Насколько я понимаю, если её обычный адрес будет добавлен как дополнительный, Discourse поймёт, что нужно корректно связывать входящие ответы (которые сейчас отклоняются, так как не совпадают с её адресом электронной почты).

Это понятно?

Да, вторичная почта должна здесь сработать, хотя я не уверен насчёт последствий. Возможно, не стоит трогать основные адреса. Может, попробовать и посмотреть, что получится?

Спасибо! Есть ли способ разрешить пользователям добавлять дополнительные адреса электронной почты, не позволяя изменять основные?

Да, как только электронная почта будет включена, вы сможете добавить альтернативные адреса в настройках аккаунта. Попробуйте это на Meta.

Но здесь я тоже могу изменить свой основной адрес, верно? У нас на сайте произошло то же самое — я изменил настройку email editable, и теперь я могу как добавлять дополнительный адрес, так и менять основной. Как сделать так, чтобы пользователи могли делать только первое?

Извините, если я чего-то не понимаю!

Полагаю, что у нас пока нет такой гибкости. Ближайший возможный вариант — запретить изменение основного адреса через CSS.

OAuth привязан к специальному ключу, поэтому влияние манипуляций с основным адресом электронной почты должно быть крайне низким: вход в систему по-прежнему будет работать и будет связан с основной учётной записью Fedora.

Ах, хорошо. Обсуждение выше заставило меня подумать, что это приведёт к созданию дубликатов аккаунтов.

Есть ли ещё что-то, о чём мне следует знать?

Не уверен, но, думаю, о единственном другом моменте, о котором вам стоит знать, это то, что мы создали административный интерфейс для слияния аккаунтов… так что в худшем случае, если вы обнаружите проблему, сможете решить её самостоятельно.

Спасибо, Сэм. Давайте узнаем!