Skip to main content
This workflow guides you through creating a user account and managing user settings. Related: Source: Feature Inventory, Source: Feature Inventory

Goal

Create a new user account, configure user details, and manage user access (enable/disable).

Preconditions

  • Access to a Veratrace instance
  • Valid AWS Cognito authentication
  • Appropriate permissions to create and manage users (Administrator role)
  • Backend API running at http://localhost:8080 (development)
Source: Source: Feature Inventory

Permissions

Required roles: Administrator (inferred from mock roles)
Source: Source: Feature Inventory

UI Steps

Screenshot: Users Create Page (TODO)

Step 1: Navigate to Create Page

  1. Click Users & Roles in the navigation sidebar
  2. Click Create User button or navigate directly to /users/create
UI Route: /users/create Component: AddEditUserPage (create mode) Source: /Users/vincentgraham/clearline-ui/src/app/routes/routerConfig.jsx (line 90-91)

Step 2: Enter User Details

  1. Enter Username - Username for the user (required)
  2. Enter Email - Email address (required, must be valid email format)
  3. Enter Name - First name (required)
  4. Enter Middle Name - Middle name (optional)
  5. Enter Family Name - Family name (optional)
UI Route: /users/create Component: AddEditUserPage Source: /Users/vincentgraham/clearline-ui/src/features/users/pages/AddEditUserPage/AddEditUserPage.jsx (line 44-53)

Step 3: Set Temporary Password

  1. Enter Temporary Password - Initial password (required)
  2. User must change password on first login
UI Route: /users/create Component: AddEditUserPage Source: /Users/vincentgraham/clearline-ui/src/features/users/pages/AddEditUserPage/AddEditUserPage.jsx (line 44-53)

Step 4: Save User

  1. Click Save or Create button
  2. User is created and saved
UI Route: /users/create Component: AddEditUserPage Source: /Users/vincentgraham/clearline-ui/src/features/users/api/users.js

Step 5: Edit User (Optional)

  1. Navigate to /users/:userId/edit
  2. Modify user details
  3. Toggle Enabled status to enable/disable user
  4. Optionally change password (enter new temporary password)
  5. Click Save to update
UI Route: /users/:userId/edit Component: AddEditUserPage Source: /Users/vincentgraham/clearline-ui/src/app/routes/routerConfig.jsx (line 94-95)

Step 6: Assign Roles (Optional)

UI Route: /users/:userId/edit Source: Source: Feature Inventory

Backend API Calls

Create User

Endpoint: POST /instances/:instanceId/users Called when: User clicks “Save” or “Create” button Request:
{
  "username": "jdoe",
  "email": "[email protected]",
  "name": "John",
  "middleName": "A",
  "familyName": "Doe",
  "temporaryPassword": "TempPass123!"
}
Response: Created user object Source: /Users/vincentgraham/clearline-ui/src/features/users/api/users.js (line 102-130)

Update User

Endpoint: PUT /instances/:instanceId/users/:userId Called when: User clicks “Save” in edit mode Request:
{
  "username": "jdoe",
  "email": "[email protected]",
  "name": "John",
  "middleName": "A",
  "familyName": "Doe",
  "enabled": true,
  "temporaryPassword": "NewTempPass123!"
}
Note: temporaryPassword is optional and only included if changing password Response: Updated user object Source: /Users/vincentgraham/clearline-ui/src/features/users/api/users.js (line 146-178)

Get User

Endpoint: GET /instances/:instanceId/users/:userId Called when: Loading user for editing Response: User object Source: /Users/vincentgraham/clearline-ui/src/features/users/api/users.js (line 66-88)

List Users

Endpoint: GET /instances/:instanceId/users Called when: Loading users list page Query Parameters:
  • username - Filter by username
  • enabled - Filter by enabled status
  • page, size, sort - Pagination and sorting
Response: Paginated response with user list Source: /Users/vincentgraham/clearline-ui/src/features/users/api/users.js (line 19-58)

Audit/Evidence Implications

Source: Source: Feature Inventory

Troubleshooting

Error: “Instance configuration not available”

Cause: Instance config not loaded or invalid Solution:
  • Verify authentication is complete
  • Check instance ID is valid
  • Refresh page and retry
Source: /Users/vincentgraham/clearline-ui/src/features/users/api/users.js (line 28-30)

Error: “Failed to create user”

Cause: Invalid user data or backend error Solution:
  • Verify all required fields are filled (username, email, name, temporaryPassword)
  • Check email format is valid
  • Verify username is unique
  • Review backend logs for details
Source: /Users/vincentgraham/clearline-ui/src/features/users/api/users.js (line 120-127)

Error: “Failed to update user”

Cause: Invalid user data or backend error Solution:
  • Verify user ID is valid
  • Check all fields are valid
  • Verify email format is valid
  • Review backend logs
Source: /Users/vincentgraham/clearline-ui/src/features/users/api/users.js (line 168-175)

Email Validation Error

Cause: Invalid email format Solution:
  • Verify email format is correct (e.g., [email protected])
  • Check for typos
  • Ensure email contains @ symbol and domain
Source: /Users/vincentgraham/clearline-ui/src/features/users/pages/AddEditUserPage/AddEditUserPage.jsx (line 218-221)

User Not Appearing in List

Cause: Filter settings or pagination Solution:
  • Clear filters on users list page
  • Check pagination (navigate to next page)
  • Verify user was created successfully
  • Check if user is disabled (filter by enabled status)
Source: /Users/vincentgraham/clearline-ui/src/features/users/api/users.js (line 19-58)

User Cannot Log In

Cause: User is disabled or password is incorrect Solution:
  • Check user enabled status in /users/:userId/edit
  • Verify user has valid temporary password
  • User must change password on first login
Source: /Users/vincentgraham/clearline-ui/src/features/users/api/users.js (line 141)