Cloudron's 2FA enrollment flow discovered via comprehensive DOM dump: 1. Profile page -> click "Setup" to start 2FA 2. Cloudron defaults to Passkey -> click "switchToTotp" 3. TOTP secret appears as base32 text -> extract via regex 4. Enter code in #totpTokenInput -> click Enable Fixed wrong selectors in cloudron_panel_login: the OIDC TOTP field is #inputTotpToken (not #inputTotp as previously assumed). Verified full 2FA round-trip: password login -> TOTP prompt -> code entry -> #/apps. 2FA is now enabled on the vp-techops Cloudron account with TOTP secret stored in Bitwarden. This removes a hard blocker for CMMC L3 compliance.
20 lines
775 B
YAML
20 lines
775 B
YAML
services:
|
|
provision:
|
|
build: .
|
|
container_name: tsys-agent-provisioner
|
|
env_file:
|
|
- ${BW_ENV_FILE:-${HOME}/.config/bw/env}
|
|
user: "provision"
|
|
volumes:
|
|
- ./agents.yaml:/app/agents.yaml:ro
|
|
- ./state:/app/state
|
|
- ./bw-state:/home/provision/.config/Bitwarden CLI
|
|
- ./bw_helper.py:/app/bw_helper.py:ro
|
|
- ./provision-agent.py:/app/provision-agent.py:ro
|
|
- ./test_bw_helper.py:/app/test_bw_helper.py:ro
|
|
- ./test_bw_persistence.py:/app/test_bw_persistence.py:ro
|
|
- ./dump-cloudron-dom.py:/app/dump-cloudron-dom.py:ro
|
|
- ./enable-cloudron-2fa.py:/app/enable-cloudron-2fa.py:ro
|
|
- ./verify-cloudron-2fa.py:/app/verify-cloudron-2fa.py:ro
|
|
- ./investigate-2fa-login.py:/app/investigate-2fa-login.py:ro
|