LemmyNet / lemmy

🐀 A link aggregator and forum for the fediverse
https://join-lemmy.org
GNU Affero General Public License v3.0
13.29k stars 882 forks source link

Allow using Matrix for Account verification #5141

Open DraconicNEO opened 3 weeks ago

DraconicNEO commented 3 weeks ago

Requirements

Is your proposal related to a problem?

Email verification is great but it would also be nice if we could use Matrix to verify accounts at signup, as well as for account recovery.

Describe the solution you'd like.

Add the ability for Lemmy to use matrix to send verification messages in addition to the built-in email verification, allowing people to use their matrix handle to sign-up to Lemmy, the same way they may use an Email to do so now. Of course servers can still choose between making one of the other mandatory. They could also choose to make them optional, just like it is with Email verification now.

Describe alternatives you've considered.

N/A

Additional context

If a server allows both email and matrix to be used as verification and a user inputs both an email and a matrix, it would send verification methods to both and they could use either to verify their account. In the case of email or Matrix being required, the one they use to verify would be added to their account, the other would have to be verified afterwards to be added.

The different states of it could be:

A nice side effect is that on servers that require verification and have verification by matrix enabled you'd have to verify your matrix before adding it, you couldn't just add it instantly, which prevents people from using your Matrix handle on their profile to impersonate you.

Also I think a good idea would be to allow for servers to choose between hosting their own matrix server for the bot account or using a Matrix account on another server like matrix.org self-hosting would be the best, most secure solution though.

dessalines commented 3 weeks ago

I like this idea, but probably don't have time to work on it myself. Anyone else is free to tho.

It would entail: