Я изучал Yesod, используя его для восстановления своего веб-сайта. Я начал с использования кода, сгенерированного yesod init
. Этот код использует структуру аутентификации, поставляемую с Yesod, включая Yesod.Auth.Email, которая позволяет вам создать учетную запись, указав адрес электронной почты.
Проблема с кодом по умолчанию заключается в следующем: он устанавливает идентификатор пользователя на его адрес электронной почты. Если идентификатор будет использоваться публично на веб-сайте (например, для идентификации комментаторов на странице / в блоге), вам нужно что-то, что пользователь не будет возражать против отображения для их идентификации.
В идеале я хочу, чтобы веб-сайт запрашивал (уникальный) общедоступный идентификатор либо в тот момент, когда они отправляют свой адрес электронной почты, либо когда они нажимают на ссылку для проверки учетной записи и ввода своего пароля. Проблема в том, что это может потребовать внесения изменений в модули Yesod, поскольку там определены формы регистра/пароля.
Я могу легко внести изменения. Но я действительно не хочу продолжать разветвлять модули Yesod, чтобы заставить их делать то, что я хочу. Есть ли другой способ сделать это, используя существующие модули yesod-auth? Вполне возможно, что это можно сделать с помощью фреймворка, как он есть, но если это так, то небольшой пример будет оценен.