Skip to main content
QMSQMS
QMS
  • Welcome to your QMS
  • Quality Manual
  • Procedures
  • Records
  • TF_Legit.Health_Plus
    • Legit.Health Plus TF index
    • Legit.Health Plus STED
    • Legit.Health Plus description and specifications
    • R-TF-001-007 Declaration of conformity
    • GSPR
    • Clinical
    • Design and development
    • Design History File (DHF)
      • Version 1.1.0.0
        • Requirements
        • Test plans
          • PLAN-001 Users submit their credentials to receive an access token
          • PLAN_002 Token expiration in user authentication process
          • PLAN_003 Account lockout for user authentication
          • PLAN_004 Enforcing HTTPS protocol for API communications
          • PLAN_005 Valid SSL/TLS certificates
          • PLAN_006 Rate limiting for anonymous users
          • PLAN_007 Rate limiting for authenticated users
          • PLAN_008 Logging and monitoring of rate limit violations
          • PLAN_009 Validation of request and response data against FHIR schemas
          • PLAN_010 Base64 encoded images are accepted
          • PLAN_011 Non-Base64 encoded images are rejected
          • PLAN_012 Diagnosis support endpoint accepts multiple images
          • PLAN_013 Improved accuracy with multiple images
          • PLAN_014: Password hashing during user registration
          • PLAN_015: Password hash comparison during login
          • PLAN_016: Registration of a new user by authorized individuals
          • PLAN_017 Specification of body zone for scoring systems requiring zone factor
          • PLAN_018 The device's API maintains an uptime of at least 99% over a one-month period
          • PLAN_019 API penetration testing with Intruder.io
        • Test runs
        • Review meetings
        • πŸ₯£ SOUPs
    • IFU and label
    • Post-Market Surveillance
    • Quality control
    • Risk Management
  • Licenses and accreditations
  • External documentation
  • TF_Legit.Health_Plus
  • Design History File (DHF)
  • Version 1.1.0.0
  • Test plans
  • PLAN_002 Token expiration in user authentication process

PLAN_002 Token expiration in user authentication process

Description​

Handling expired access tokens properly in a software system is important for maintaining security and protecting sensitive information. Access tokens are used to authenticate users and authorize their actions within the system. If expired tokens are not managed correctly, unauthorized users could potentially gain access by using old tokens, leading to security breaches, data theft, or other malicious activities.

The recommended expiration time for access tokens balances security and usability. Shorter expiration times, such as 15 minutes to an hour, enhance security by reducing the window of opportunity for token misuse. However, they can also inconvenience users by requiring frequent re-authentication. A common approach is to use tokens with an expiration time of about an hour, combined with refresh tokens that can obtain new short-lived access tokens without requiring the user to re-authenticate frequently.

System requirements​

No special hardware or software is required to run this test.

Preconditions​

  • The entire system (including the reverse proxy, REST API, and all upstream services) is deployed, operational, and accessible online.
  • All communications with the REST API are conducted over HTTPS, either through a reverse proxy server or directly with the hosting server.
  • The user database includes at least one test account with an encrypted password.
  • The token expiration time has been set to 1 hour.

Input data​

Use the following authentication credentials for this test:

  • Username: testuser@legit.api
  • Password: @634&lMjH52#ipK@

To log in, please send your credentials to the authentication endpoint as Form-data. Use the keys username and password to submit your information. Here’s how you can format your request:

{
"username": *Your username*,
"password": *Your password*,
}

Make sure to select Form-data as the type of request body when sending your credentials. This format ensures that your login information is properly received and processed by the endpoint.

Steps​

  1. Log in with the provided credentials to obtain an access token.
  2. Wait for the token to expire.
  3. Attempt to access a protected endpoint with the expired token.

Expected outcome​

  • The REST API returns a valid token when sending the authentication credentials.
  • The REST API rejects the access attempt with an expired token, returning a 401 Unauthorized status code along with an appropriate error message.

Verifies software requirements​

  • REQ_005

Risk control for​

    1. An organisation that is not a licensed care provider gets access to the device
    1. Users outside the inteded user definition use the medical device
    1. Data breach or unauthorized access

Signature meaning

The signatures for the approval process of this document can be found in the verified commits at the repository for the QMS. As a reference, the team members who are expected to participate in this document and their roles in the approval process, as defined in Annex I Responsibility Matrix of the GP-001, are:

  • Tester: JD-017, JD-009, JD-004
  • Approver: JD-005
Previous
PLAN-001 Users submit their credentials to receive an access token
Next
PLAN_003 Account lockout for user authentication
  • Description
  • System requirements
  • Preconditions
  • Input data
  • Steps
  • Expected outcome
  • Verifies software requirements
  • Risk control for
All the information contained in this QMS is confidential. The recipient agrees not to transmit or reproduce the information, neither by himself nor by third parties, through whichever means, without obtaining the prior written permission of Legit.Health (AI LABS GROUP S.L.)