<blockquote>
<p>Sure we should probably improve it, but because the authentication and settings stuff is a complete clusterfsck it will be a massive amount of work and should probably only be tackled once that is sorted or we'll just break everything.</p>
</blockquote>
<p>Yes, I think the best approach would be to move to Devise, and then work on these problems there. For example, in another project we recently required changing emails to a) send a warning to the existing email address and b) also send confirmation link to the new email address. These are just configuration settings in devise, we didn't need to write code for any of that.</p>

<p style="font-size:small;-webkit-text-size-adjust:none;color:#666;">—<br />You are receiving this because you are subscribed to this thread.<br />Reply to this email directly, <a href="https://github.com/openstreetmap/openstreetmap-website/issues/2144#issuecomment-464349918">view it on GitHub</a>, or <a href="https://github.com/notifications/unsubscribe-auth/ABWnLel-Xlz1CF0VI5UGEcaoMG1hxnw2ks5vOBC5gaJpZM4a8gb8">mute the thread</a>.<img src="https://github.com/notifications/beacon/ABWnLYZ5OILprXfxHDgNQY-2oQX1XBQTks5vOBC5gaJpZM4a8gb8.gif" height="1" width="1" alt="" /></p>
<script type="application/json" data-scope="inboxmarkup">{"api_version":"1.0","publisher":{"api_key":"05dde50f1d1a384dd78767c55493e4bb","name":"GitHub"},"entity":{"external_key":"github/openstreetmap/openstreetmap-website","title":"openstreetmap/openstreetmap-website","subtitle":"GitHub repository","main_image_url":"https://github.githubassets.com/images/email/message_cards/header.png","avatar_image_url":"https://github.githubassets.com/images/email/message_cards/avatar.png","action":{"name":"Open in GitHub","url":"https://github.com/openstreetmap/openstreetmap-website"}},"updates":{"snippets":[{"icon":"PERSON","message":"@gravitystorm in #2144: \u003e Sure we should probably improve it, but because the authentication and settings stuff is a complete clusterfsck it will be a massive amount of work and should probably only be tackled once that is sorted or we'll just break everything.\r\n\r\nYes, I think the best approach would be to move to Devise, and then work on these problems there. For example, in another project we recently required changing emails to a) send a warning to the existing email address and b) also send confirmation link to the new email address. These are just configuration settings in devise, we didn't need to write code for any of that."}],"action":{"name":"View Issue","url":"https://github.com/openstreetmap/openstreetmap-website/issues/2144#issuecomment-464349918"}}}</script>
<script type="application/ld+json">[
{
"@context": "http://schema.org",
"@type": "EmailMessage",
"potentialAction": {
"@type": "ViewAction",
"target": "https://github.com/openstreetmap/openstreetmap-website/issues/2144#issuecomment-464349918",
"url": "https://github.com/openstreetmap/openstreetmap-website/issues/2144#issuecomment-464349918",
"name": "View Issue"
},
"description": "View this Issue on GitHub",
"publisher": {
"@type": "Organization",
"name": "GitHub",
"url": "https://github.com"
}
}
]</script>