docs(website): record trusted-device support on the SSO login paths #62
Reference in New Issue
Block a user
No description provided.
Delete Branch "feat/sso-trusted-device"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
What & why
Doc side of website#108 and Android-app
feat/sso-trusted-device.TRUSTED_DEVICES_MFA.md§6 gains an "SSO login paths" subsection: SSO is not exempt from the second factor, and a trusted device skips it exactly as on the password path. Previously SSO consulted trust nowhere, so a user signing in with an external identity was asked for a code on every single sign-in. Documents the callback-side skip, the newtrustDevice/deviceNameonPOST /auth/sso/totp, and why recovery codes stay password-login only.It also writes down how this reaches the Android app, since it isn't obvious from the code: the app's SSO runs in a Custom Tab that shares the system browser's cookie jar, so the
rg_trustcookie covers native SSO with no app change and no trust token in a start URL (which would leak a secret into query strings and logs). The app's own token is minted at/auth/mobile/sso/exchangeinstead — an authenticated app→server call — so it never travels in the deep link, and the bridge row holds only a boolean. Notes that one tick yields two independently-revocable rows.§4 documents the new
mobile_auth_sessions.trust_devicecolumn.BACKEND_DESIGN.mdgets the same column in its bridge table, the trust note on the/exchangerow, and a pointer from the bridge intro to the Custom Tab cookie model.How it was tested
Documentation only — no code. Every statement was verified against the running server and real MariaDB while building website#108: the trust cookie is issued and the row persisted by the SSO TOTP step, a subsequent SSO callback carrying it skips the code, and an invalid trust is still challenged.
Checklist
AI-assisted contributions (required)
Claude Code (Opus 5). I have reviewed and understandevery change, and take responsibility for it. AI-authored commits are
marked with a
Co-Authored-By/Assisted-Bytrailer.License
(GNU GPL v3.0 or later), and I have the right to contribute it.