Skip to content

🎭 As a returning user, I want to login #209

@unicornware

Description

@unicornware

Requirements

Functional Requirements

What the product must do.

  • Allow users to authenticate with JWTs
  • Allow users to login with GitHub if their account email is the same as their GitHub email
  • Allow users to login with Google if their account email is the same as their Google email
  • Allow users to login with email/password

Non-Functional Requirements

How the product must behave.

  • Auto-link users to their OAuth provider account if logging in with OAuth provider for the first time
  • Follow OAuth 2.0 protocol
  • Issue and verify JWTs

Out of Scope

Items that are specifically excluded from this feature.

  • Apple login
  • Facebook login
  • Login with username/password
  • Phone number login
  • SMS multi-factor authentication
  • SMS verification
  • Twitter login

Acceptance Criteria

Overall acceptance criteria for the feature.

  • Scenario: Successful login with GitHub

    • Given
    • When
    • And
    • Then
  • Scenario: Successful login with Google

    • Given
    • When
    • And
    • Then
  • Scenario: Successful login with email and password

    • Given
    • When
    • And
    • Then
  • Scenario: Failed login with GitHub

    • Given
    • When
    • And
    • Then
  • Scenario: Failed login with Google

    • Given
    • When
    • And
    • Then
  • Scenario: Failed login with email and password

    • Given
    • When
    • And
    • Then
  • Scenario: An unknown error occurs

    • Given a request is sent
    • When an unknown error occurs
    • Then send 500 response

Sub-issues

Metadata

Metadata

Assignees

Labels

Type

Projects

Status

πŸ“‹ Backlog

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions