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.