Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add username support for filesystem recovery #92

Closed
bgins opened this issue Nov 15, 2022 · 0 comments
Closed

Add username support for filesystem recovery #92

bgins opened this issue Nov 15, 2022 · 0 comments
Assignees

Comments

@bgins
Copy link
Member

bgins commented Nov 15, 2022

Summary

Problem

The proposed plan for filesystem recovery will recover the filesystem and assign it to a new user. We want users to have the experience of keeping their username, while underneath assigning them a new account.

Impact

Without this feature users may be upset they have lost their username when they recover their filesystem.

Solution

As a proposed solution, we append a # and the user's DID (or a portion of it) to the username to guarantee that it is unique. When a user recovers their filesystem, we create a new key pair and register them with the new DID in their username.

One complication is that a username with a # will not be URL-safe and should be hashed/encoded so it works in DNS and when performing device linking. We've started to explore a more flexible username system in https://talk.fission.codes/t/of-webnative-usernames-and-identifiers/3031 and oddsdk/ts-odd#385, but perhaps we can move this work forward without depending on these changes to Webnative? What if we didn't use a # for example, but picked something known safe as a separator?

Also, we don't need to use the DID in the username. It just needs to be something to make the new name unique!

One other nice to have is a short string appended to the username. For example, selecting six characters from the DID is easier for user's to read and could become important when sharing private files. (This assumes six characters are enough to give us enough uniqueness.)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants