authgear / authgear/authgear-server

Support test environment in a project

Open
#3,318 0 comments 0 reactions 0 assignees View on GitHub
pitch
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.