d099fc7da7
Remplace le password grant par Authorization Code + PKCE via Custom Tab. L'utilisateur est redirigé vers Keycloak à l'ouverture si non connecté, le token est stocké dans EncryptedSharedPreferences et rafraîchi automatiquement. Le deep link com.planify.mobile://auth/callback capture le code de retour. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>