-
-
Notifications
You must be signed in to change notification settings - Fork 306
Description
Describe the feature
Now that we have a profile, we need a settings area on the profile for changing some things about the atproto account, since the PDS does not have this page and our new to the atmosphere users will not know to go to Bluesky. While working on this one please feel free to create a new account on the npmx.social PDS to use during development.
A lot of these will also require an elevated oauth scope, but we do not always want to have those scopes for most users. Just ask the user to reauth with the elevated scopes. If someone picks up this item and is not sure about this part please feel free to just add them in during the normal login flow during development then @ me on a draft PR to add in the switching.
Settings nice to have:
- change your handle: endpoint, scopes:
identity:handle. Will also want to check the com.atproto.server.describeServer for handle endings their PDS supports viaavailableUserDomainsand have a drop down if there's multiple ones. Also be nice to mimic what bluesky does to tell users how to setup a custom handle - change your password: All passwords are done via a reset token sent to your email, but to get the email from the PDS the scope:
account:email?action=read. Then it's getSession to get the email -> requestPasswordReset to send an email with the token -> resetPassword to finally change the password - Change email is similar to password, scope:
account:email?action=manage. Call com.atproto.server.requestEmailUpdate to email the user a token -> com.atproto.server.updateEmail to finally update - Confirm email. May need to do this first, and show the confirmation status from getSession. com.atproto.server.requestEmailConfirmation email the user a code -> com.atproto.server.confirmEmail
And I think that's mostly it besides 2FA
Additional information
- Would you be willing to help implement this feature?
Final checks
- Read the contribution guide.
- Check existing issues.