There are a lot of user accounts, many that aren't active. In order to migrate users we'd need to store the old password hashes which aren't secure. Even if users are required to change the password immediately, all those inactive hashes will still be sitting around. The database will be much better protected, but we can't count on the database never being breached and those old passwords being cracked.
'Touched'
Buffistas Building a Better Board ++
Do you have problems, concerns, or recommendations about the technical side of the Phoenix? Air them here. Compliments also welcome.
We can migrate the accounts and make everyone change their passwords without copying the old password hashes.
That's not much different than creating a new account. I suppose we could match on user name if the user wants and load that data.
I just think that this "legacy account" idea you're proposing would be too confusing, and that there should be more continuity between the two sites.
People really do come back to the site after a very long time, and we shouldn't make it harder for them.
The part that I get caught up on is how to authenticate a returning user without keeping the insecure hashes.
We could do name matching, but that would make it really easy to hijack an existing account. We could authenticate by using the profile e-mail, but that might be out of date and then the user is kinda stuck since they can't create a new account since there is an existing one.
I don't know. It's a tricky problem.
You keep the old hashes (for a short period of time). The first time a user logs in, you prompt them for a new password and/or generate a new hash. After the grace period has expired, the old passwords are purged. Then a user would have to either use their account email address, or the admin contact form, same as always.
I just don't want there to be so much friction that we lose people during the board transition.
A grace period could work.
Were you saying you were willing to help with migration, Tom? If you need access to the code, just get a gitlab account and I can hook you up.
OK, I created a gitlab account, which is the same username as my email address.
You're all added to the project and stuff.