docs(cloud-console): document user authentication

This commit is contained in:
2026-07-13 17:55:21 +08:00
parent cdef630e67
commit c72c31de04
10 changed files with 595 additions and 113 deletions
@@ -1,19 +1,19 @@
## ADDED Requirements
### Requirement: Operator authenticates with a bearer token
The console SHALL require an operator-supplied bearer token before calling any Cloud Control Plane endpoint, SHALL hold that token only in browser session storage, and SHALL attach it as an `Authorization: Bearer` header on every request.
### Requirement: Operator authenticates with an account session or compatibility bearer token
The console SHALL use username/password account login and a server-managed browser session as its primary authentication flow. It SHALL retain an explicit operator-supplied bearer-token compatibility path, hold that token only in browser session storage, and attach it as an `Authorization: Bearer` header on requests made in compatibility mode.
#### Scenario: No token present
- **WHEN** an operator opens the console without a previously entered token
- **THEN** the console shows a token-entry screen instead of any dashboard view
#### Scenario: No account session or token present
- **WHEN** an operator opens the console without a valid account session or previously entered compatibility token
- **THEN** the console shows username/password login with an explicit token compatibility action instead of any dashboard view
#### Scenario: Token rejected by the Cloud API
- **WHEN** the Cloud Control Plane responds `401` or `403` to a request carrying the stored token
- **THEN** the console clears the stored token and returns to the token-entry screen with a clear message
#### Scenario: Authentication rejected by the Cloud API
- **WHEN** the Cloud Control Plane responds `401` to a request carrying the active account session or stored compatibility token
- **THEN** the console clears active authentication state and returns to login with a clear message
#### Scenario: Tab closed
- **WHEN** an operator closes the browser tab running the console
- **THEN** the stored bearer token is discarded and is not available on the next visit
- **THEN** any stored compatibility bearer token is discarded and is not available on the next visit
### Requirement: Task dashboard
The console SHALL render a task view listing tasks by status with pagination, and SHALL show a task's detail including its attempt history, using the platform SDK's task-listing and attempt-history endpoints.