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

Draft: Feature - User account #8

Open
10sa opened this issue Feb 1, 2023 · 0 comments
Open

Draft: Feature - User account #8

10sa opened this issue Feb 1, 2023 · 0 comments

Comments

@10sa
Copy link

10sa commented Feb 1, 2023

Summary

This issue defines functionality regarding user accounts for other functions.

It defines the login method, the information required to create an account, the creation of a unique identifier for the account, the method of verifying the account information, etc., and some of them define the technical requirements.

This issue is still in draft. This has not been officially decided and the contents may be modified at any time.


User and Account

A user is identified by an Account. If Account is different, it is considered a different user. This means that one people can create multiple accounts.

Account data

Defines the data the account must have.

  • ID (Unique. Like Postgres GENERATED ALWAYS AS IDENTITY clause column, defined as PK in most tables)
    • It will be using bigint type with GENERATED ALWAYS AS IDENTITY constraint.
  • Account ID (Unique)
    • This value is a unique distinguished name such as @iamauser. This is a different value from the ID above.
  • Username
    • This data is the display name that the user will see on the frontend.
  • Email Address (Unique)
    • Email address must be unique. if email is already used, account can't be register.
  • Password (Optional)
    • Designate as optional for future 3rd party login.
    • When saving, it must be saved using a hash function along with salt.

Data for 3rd party login should be managed in a separate table, and it will be implemented in the form of referring to the unique ID of the account through a foreign key.

The data required by the function is defined by each function. Such data must be defined in new tables and linked by foreign keys. Account tables should contain information purely about accounts.

Login

Users can log in with the following information:

  • Email Address
  • Password

3rd party login is not considered in the current version. This will be considered later.

Authorization

The definition of 'authentication method', known as session-based authentication or token-based authentication, has not been decided yet. It is technical requirements and will be decide after discussion.

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

1 participant