mirror of
https://github.com/bulwarkmail/webmail.git
synced 2026-11-04 16:14:07 +00:00
The desktop login page gets "Sign in with your browser…" as its main button. On an instance it opens the instance's real login page in the system browser, with a PKCE challenge. The page checks the password or runs SSO, parks the sign-in under a one-time code, asks once, and sends the code to the app's loopback listener. This browser gets no session out of it, and the app's own page redeems the code, so SameSite=Strict is fine. Standalone runs the mail server's OAuth against the listener, with a page from main for a server with no OAuth at all. - `/api/auth/desktop-handoff/park` and `redeem`, and `sso/complete` parks tokens the same way for a loopback target - `auth.claim()`: the calls are taken once per document, in the first render, in `WindowControlsHost` - `BrowserSignIn` policy, default on, with its ADMX and samples - strings in all 30 languages, and the old button's are gone `runDesktopBrowserSignIn`'s tests changed because the code no longer goes through the callback page's address: it's redeemed where it arrives.