authgear / authgear/authgear-server
Support test environment in a project
- Dominant language
- Go
- Stars
- 2k
- Forks
- 125
- Avg merge
- 2d 17h
- Merged PRs (30d)
- 32
Description
## Problem
In development, it's common to have a test environment and a production environment.
The test environment can be used as:
- Development: a working environment for developers to change configuration frequently
- Staging: For testing build before releasing to production
During testing, the user may want to bypass the OTP or recovery code easily
## Appetite
6 weeks
## Solution
- Allow tagging a project (a tenant) to be in "Test" or "Production"
- Each project are isolated
- If a "Test" project is linked to a "Production" project, the paid features will also be enabled in the testing environment.
- MAUs and Quota are counted towards the same billing for linked projects.
- Configs can be copied from Test project to Production projects
- The Portal should clearly identify which project is in Test mode.
### Test mode
In Test mode, the project will behave differently to facilitate developers and testers
- TOTP and recovery code can be bypassed by `000000` (already supported in the backend in https://github.com/authgear/authgear-server/issues/3074)
- OOBOTP can be bypassed by `000000` (already supported in the backend in https://github.com/authgear/authgear-server/issues/3072)
- The AuthUI will show a very prominent "[Test Mode]" badge
- All the SMS/Email template will include "[Test mode]" in the copy
## Rabbit Hole
## No-goes
Contributor guide
Research direction
Start with the existing backend support in issues 3074 and 3072, then trace how projects or tenants are represented and where the Portal and AuthUI identify them. The issue describes the desired Test and Production behavior, including linking, copied configuration, billing, quotas, badges, and message templates; done means those behaviors are implemented and covered across the affected surfaces.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- authentication, backend
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100