Authentifier les utilisateurs
Vous pouvez adopter plusieurs stratégies en fonction de votre produit (ce choix découle de l'investigation, ce n'est pas un choix technique) :
- Avoir votre propre système d'enregistrement et connexion ;
- Utiliser un système de connexion connu comme FranceConnect ;
- Utiliser les 2.
Nous préconisons d'utiliser next-auth
au sein de Next.js pour répondre à n'importe lequel de ces cas de figure.
La (1) vous permet :
- D'aller vite ;
- D'avoir un comportement similaire en local, développement et production ;
- De ne pas reposer sur un système tiers qui peut être indisponible.
La (2) :
- Faciliter la connexion à vos utilisateurs ;
- Reposer sur un standard sécurisé comme OpenID Connect (OIDC), ou SAML pour des systèmes plus historiques.
Pour la (1) si vous ne voulez pas alourdir le développement et votre expérience utilisateur, utilisez la plus basique des connexions directement depuis votre applicatif (cela marche depuis des années et ça n'en est pas "moins sécurisé"). Assurez-vous juste d'avoir dans votre base de données des mots de passes hashés avec l'algorithme bcrypt
(10 itérations minimum). Les raisons de déployer vous-même un outil lourd compatible OIDC comme Keycloak ou Hydra peut être approprié si vous gérez une multitude de frontends distincts et que vous voulez avoir un seul compte commun pour les gouverner tous…
Pour la (2) c'est directement des initiatives du service public, pour détailler les principaux :
- FranceConnect ;
- AgentConnect ;
- ProSantéConnect ;
- MonComptePro ;
- Aidants Connect (pas listé dans la comparatif, mais à titre informatif).