US: Mobile User Authentication and Profile Management #17

Open
opened 2026-05-29 02:23:06 +00:00 by max · 0 comments
Owner

User Story: As a mobile app user, I want to securely register, log in, and manage my profile, so that I can access personalized features and maintain control over my account on the go.

Acceptance Criteria:

  • Given I am on the mobile app's registration screen, When I provide a unique email address and a strong password (minimum 8 characters, one uppercase, one lowercase, one number, one special character), Then my account should be created successfully via the shared backend API, and I should be automatically logged in or redirected to the login screen.
  • Given I am on the mobile app's registration screen, When I provide an email address that is already registered, Then I should receive an immediate and clear error message from the backend API, indicating the email is already in use.
  • Given I am on the mobile app's login screen, When I enter my registered email and correct password, Then I should be successfully logged in, receive an authentication token, and be redirected to my mobile library.
  • Given I am on the mobile app's login screen, When I enter incorrect credentials, Then I should receive an error message indicating invalid credentials after a failed authentication attempt with the backend API.
  • Given I am logged into the mobile app, When I close and reopen the app (within a reasonable session timeout, e.g., 7 days), Then I should remain logged in and automatically authenticated without needing to re-enter my credentials, utilizing persistent storage for tokens (e.g., AsyncStorage).
  • Given I am logged into the mobile app, When I explicitly log out, Then my session should be terminated on the backend, and all local authentication tokens cleared, requiring me to log in again for future access.
  • Given I am logged into the mobile app, When I navigate to my profile settings, Then I should be able to view and update my basic profile information (e.g., username, password, email), with changes reflected via the backend API.
  • Given I change my password via the mobile app, When the change is successful, Then all other active sessions (web or other mobile devices) should be invalidated, requiring re-authentication.
  • Given my mobile device supports biometric authentication (Face ID/Touch ID), When I enable this feature in the app's settings, Then I should be able to log in using biometrics after initial credential-based login, ensuring secure and convenient access.
User Story: As a mobile app user, I want to securely register, log in, and manage my profile, so that I can access personalized features and maintain control over my account on the go. Acceptance Criteria: * **Given** I am on the mobile app's registration screen, **When** I provide a unique email address and a strong password (minimum 8 characters, one uppercase, one lowercase, one number, one special character), **Then** my account should be created successfully via the shared backend API, and I should be automatically logged in or redirected to the login screen. * **Given** I am on the mobile app's registration screen, **When** I provide an email address that is already registered, **Then** I should receive an immediate and clear error message from the backend API, indicating the email is already in use. * **Given** I am on the mobile app's login screen, **When** I enter my registered email and correct password, **Then** I should be successfully logged in, receive an authentication token, and be redirected to my mobile library. * **Given** I am on the mobile app's login screen, **When** I enter incorrect credentials, **Then** I should receive an error message indicating invalid credentials after a failed authentication attempt with the backend API. * **Given** I am logged into the mobile app, **When** I close and reopen the app (within a reasonable session timeout, e.g., 7 days), **Then** I should remain logged in and automatically authenticated without needing to re-enter my credentials, utilizing persistent storage for tokens (e.g., `AsyncStorage`). * **Given** I am logged into the mobile app, **When** I explicitly log out, **Then** my session should be terminated on the backend, and all local authentication tokens cleared, requiring me to log in again for future access. * **Given** I am logged into the mobile app, **When** I navigate to my profile settings, **Then** I should be able to view and update my basic profile information (e.g., username, password, email), with changes reflected via the backend API. * **Given** I change my password via the mobile app, **When** the change is successful, **Then** all other active sessions (web or other mobile devices) should be invalidated, requiring re-authentication. * **Given** my mobile device supports biometric authentication (Face ID/Touch ID), **When** I enable this feature in the app's settings, **Then** I should be able to log in using biometrics after initial credential-based login, ensuring secure and convenient access.
This repo is archived. You cannot comment on issues.
No labels
1 Participants
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: HermesFactory/cloud-reader#17