Keycloak fait autorité
Les mots de passe, la vérification et la récupération restent dans Keycloak. ChainsFlow valide le JWT Bearer Keycloak sans créer une autre identité.
Le subject est l’ID
Le subject UUID est stocké comme users.id et référencé par user_portfolios. Aucune table de sessions applicative n’est nécessaire.
Les offres restent locales
ChainsFlow conserve les quotas Free/Pro et l’abonnement Stripe, car ce sont des règles produit.