08f8267dcc5f9609a68e84e24f332cf84f3559d1
Drei Fehler, die den Flow gebrochen haetten: - Ein Abbruch im Browser liefert bei AppAuth ein regulaeres Ergebnis mit USER_CANCELED_AUTH_FLOW, nicht null. Der bisherige Null-Check lief ins Leere und "Zurueck" endete in einer roten Fehlermeldung. - launch(intent) lag ausserhalb von runCatching. Verlaesst der Nutzer den Screen waehrend der Discovery, ist der Result-Launcher abgemeldet und die IllegalStateException haette die App beendet. - Nonce und Provider lagen nur in ViewModel-Feldern. Der Custom Tab laeuft in eigener Task, dieser Prozess wird dabei routinemaessig getoetet — die Anmeldung waere nach erfolgreichem Login beim IdP gescheitert. Der Nonce kommt jetzt aus AuthorizationResponse.request, Provider und Client-ID werden vor dem Start persistiert. Weiter: AuthState.update verlangt genau eines von (Response, Exception) und haette bei null/null geworfen; onCleared() verwarf den @Singleton-Service fuer die zweite AuthViewModel-Instanz mit. Neu ist der geforderte Hintergrund-Refresh: laeuft das Calendarr-Token binnen 24 h ab, wird beim Start ueber den Provider-Refresh-Token ein frisches ID-Token geholt und getauscht — ohne Browser. Best effort; schlaegt es fehl, bleibt das vorhandene Token in Kraft. Ausserdem: Scopes kommen ausschliesslich vom Server (mobile_scopes), Spinner pro Provider statt global, fehlender Browser als eigener Fehlerfall, Issuer wird validiert, keine namenlosen Identitaeten mehr. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Description
No description provided
12 MiB
Languages
JavaScript
46.5%
Python
31.8%
CSS
12.2%
HTML
9.1%
Shell
0.4%