transfem-org / Sharkey

🌎 A Sharkish microblogging platform 🚀
https://joinsharkey.org/
73 stars 19 forks source link

feat: Approval System #93

Closed Mar0xy closed 11 months ago

Mar0xy commented 11 months ago

This allows instances to approve users or deny them before they can sign in.

The current implementation that is done doesn't have a special interface as the sorting is done via the Users tab in instance settings currently if admins want to check unapproved accounts. Control Panel > Users > State > Not Approved

On the moderation page of the users will be a new tab called "Approval" that will only be shown if the user viewed isn't approved, Users that are waiting for an approval will get an "Approval Pending" email followed by an email stating they were accepted if an admin accepted them. if the admin decided to deny their registration request and clicked the "Deny & Delete account" button (Deletion is done to be in accordance with GDPR) the user will simply end up getting an "Account Deleted" email.

An warning will also be shown to visitors like it is already done with instances that are invite-only stating that the instance is approval only.

If instances don't have email setup as a requirement for new users it will simply show the user a dialog stating that their account has been created and is awaiting approval. this same dialog will also show after a user has verified their signup/email if email requirement is enabled.

WARNING

For instances that are already running Sharkey and instances that want to migrate from misskey or firefish please prompt your users to logout and log back in so their accounts default to approved in case you ever want to switch to approval required. You can also run this query manually after the update is released to automatically set all accounts as approved:

UPDATE user SET approved = true;

Closes #84