User Creation and Authentication

This feature will allow users to register an account through which they have access to the product. This feature is essential for the product, as the user accounts will be linked to essential information such as game data, payment details and crypto wallets.

Product Requirements

Design Requirements

Engineering Requirements

User Stories

This section contains the user stories for this epic. After each user story, the accompanying requirements are defined in bullet point lists.

User story As a user, I want to be able to register a user account using an email address and password so that I can take part in Rise of Rulers gameplay.
Acceptance criteria
  • Given I am a user, I provide a correct email address and password to the system and click the register button, I am able to successfully register a user account.
  • Given I am a user, I have to enter my preferred password twice when registering an account and if both entries aren't identical I have to correct this before continuing.
User story As a user, I want to be able to verify my account within a reasonable amount of time by following the instructions in the account verification email.
Acceptance criteria
  • Given I am a user and I click the registration button after correctly filling out the form, the system tells me that my account registration is successful, the account needs to be verified for me to be able to use it and an email has been sent to my email address with verification instructions.
  • Given I am a user and the system tells me that an email has been sent out, the system has actually sent out the email at that instant so that I can receive it within a reasonable amount of time.
User story As a user, I want to be told that my email needs to be verified when I successfully authenticate through the login form before I have verified my email address.
Acceptance criteria
  • Given I am a user and I click the login button after providing valid credentials, I am greeted with a message about the required email verification and the option to have the system send a new verification email to my email address.
  • Given I am a user and I am logged in without my email being verified, the system does not allow me to use its core functionalities.
User story As a user, I want to be able to reset my account password by providing the system with the email address I used to register my account and following the instructions in a password reset email sent to my email address.
Acceptance criteria
  • Given I am a user and I click the reset password button after providing my email address, I am sent an email with instructions and a special link that I can use to change the password for my user account.
  • Given I am a user and I click the special link in the password reset email, I am presented with the password reset page which requires me to enter my new password twice.
  • Given I am a user and I do not enter two identical passwords into the password reset form, I am not allowed to continue before I correct this.
  • Given I am a user, I have correctly filled out the password form and I click the "reset password" button, my password is changed to the one provided in the form.
User story As a user, I want to be able to pair the software with my TOTP application so that I can use one-time passwords for additional security.
Acceptance criteria
  • Given that I am a user and I click the "enable TOTP" button on the user settings screen, I am able to go through the setup process and configure the system to work with my TOTP application.
  • Given that I am a user and I login after enabling TOTP for my account, I fill in a correct password and username and the system has verified these credentials, I am required to provide a one-time-password from the TOTP application before I am allowed to continue.
User story As a user, I want to be able to authenticate myself to the system using a username and password configured by me, so that I am able to partake in gameplay and my progress can be saved.
Acceptance criteria
  • Given that I am a user, I fill in the login form with a correct username and password and I click login, I am able to successfully authenticate to the system.

Revision #12
Created 22 February 2022 11:16:51 by Hugo
Updated 7 March 2022 15:41:02 by Hugo