-
Notifications
You must be signed in to change notification settings - Fork 1
Open
Description
We currently have a handful of onboarding scenarios:
Registration:
- User visits website
- Decides she wants to use our service
- Navigates to a register form
- Provides all necessary data, including:
- E-mail address (mandatory)
- Nickname (mandatory)
- Password (mandatory)
- Real name (optional)
Challenge invitation:
- Company has contact information of a user, and provides us with
- E-Mail (mandatory)
- Nickname (optional, let's leave this open)
- Real name (optional)
- We invite the user by sending an e-mail. The e-mail contains known contact information where possible. E.g. "Hello Max Mustermann!" if we know the real name, and "Hello!" if we don't know the name.
- The user arrives at our page via the personalized URL.
- We encourage the user to complete registration by setting (or overriding) all personal data, except the e-mail address.
At all times, we want to have accurate and consistent data in our database, which is a pain right now, as we'd probably see NULLs for nickname and password. Therefore I propose to reconsider the concept of a "User" as such, and define a more decoupled way of storing user data.
For example, we could represent an object that associates with forms of authentication (tokens, passwords, 2FA secrets) and identifiers (real name, nickname, e-mail address), and only establish a relation once we have that information.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels