diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml index 1701ed1..44c16c1 100644 --- a/android/app/src/main/AndroidManifest.xml +++ b/android/app/src/main/AndroidManifest.xml @@ -23,11 +23,20 @@ android:name=".MainActivity" android:exported="true" android:launchMode="singleTop" - android:taskAffinity="" android:theme="@style/LaunchTheme" android:configChanges="orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode" android:hardwareAccelerated="true" android:windowSoftInputMode="adjustResize"> + diff --git a/android/app/src/main/res/xml/network_security_config.xml b/android/app/src/main/res/xml/network_security_config.xml index f1aab2a..2d1ea8e 100644 --- a/android/app/src/main/res/xml/network_security_config.xml +++ b/android/app/src/main/res/xml/network_security_config.xml @@ -1,17 +1,21 @@ - - 10.0.2.2 - localhost - 127.0.0.1 - + + + + + diff --git a/lib/data/network/keycloak_oidc_token_provider.dart b/lib/data/network/keycloak_oidc_token_provider.dart index e46eef3..9227c13 100644 --- a/lib/data/network/keycloak_oidc_token_provider.dart +++ b/lib/data/network/keycloak_oidc_token_provider.dart @@ -84,6 +84,14 @@ class KeycloakOidcTokenProvider implements AuthTokenProvider { // würde sonst abbrechen. In Produktion (HTTPS) ist das ein // No-Op und kann bleiben. allowInsecureConnections: true, + // Wichtig auf Android: ohne `prompt=login` würde Keycloak bei + // bestehender SSO-Session sofort 302 nach holzleitner://... + // antworten, Chrome schließt den Custom Tab dabei so schnell, + // dass der Redirect-Intent unsere RedirectUriReceiverActivity + // gar nicht erreicht — AppAuth meldet stattdessen + // "User cancelled flow". Erzwingen der Login-Maske → echter + // User-Click → sauberer Intent-Dispatch. + promptValues: const ['login'], ), );