Pourquoi le single sign-on (SSO) est meilleur
Le single sign-on (SSO) est un excellent moyen de simplifier le modèle d'authentification et d'améliorer l'expérience utilisateur pour chaque application. Voici pourquoi.
Le single sign-on (SSO) est une technologie qui permet aux utilisateurs de s'authentifier une fois et d'accéder à plusieurs applications. Si vous n'avez qu'une seule application, cela peut sembler excessif. Cependant, commencer avec le SSO dès le début peut vous éviter de nombreux maux de tête à l'avenir, et implémenter le SSO est plus facile que vous ne le pensez.
Avant de commencer, nous devons noter qu'il existe deux types de SSO :
- Le premier type est lorsque vous avez plusieurs applications qui partagent la même base de données utilisateur. C'est le type de SSO dont nous parlerons dans cet article.
- Le second type est lorsque votre client dispose d'un fournisseur d'identité centralisé (IdP) et que vous devez vous y intégrer. Cela n'entre pas dans le cadre de cet article.
Pourquoi le SSO ?
Simplifier le modèle d'authentification
Le principal avantage du SSO est qu'il simplifie le modèle d'authentification. Imaginez que vous commenciez avec une boutique en ligne, le modèle d'authentification initial est simple :
Au fur et à mesure que votre entreprise se développe, vous décidez d'ajouter une application de gestion de magasin pour permettre aux propriétaires de gérer leurs magasins. Vous avez maintenant deux applications qui doivent authentifier les utilisateurs.
Voici quelques choix que vous avez :
1. Vous pouvez créer une base de données utilisateur distincte pour l'application de gestion de magasin.
C'est la solution la plus simple, mais cela signifie que vous devez mettre en œuvre le processus d'authentification pour l'application de gestion de magasin et les utilisateurs doivent créer un nouveau compte pour utiliser l'application.
2. Vous pouvez utiliser la même base de données utilisateur pour les deux applications.
C'est une meilleure solution car les utilisateurs n'ont pas besoin de créer un nouveau compte. Cependant, vous devez toujours mettre en œuvre le processus d'authentification pour l'application de gestion de magasin.
3. Vous pouvez utiliser le SSO.
C'est la meilleure solution jusqu'à présent. Vous n'avez pas besoin de mettre en œuvre un autre processus d'authentification et les utilisateurs n'ont pas besoin de créer un nouveau compte pour l'application de gestion de magasin. De plus, vous pouvez ajouter plus d'applications et de méthodes de connexion sans modifier le modèle d'authentification ou l'expérience utilisateur.
Améliorer l'expérience utilisateur
Le SSO améliore l'expérience utilisateur de deux façons :
- Les utilisateurs peuvent partager le même compte sur plusieurs applications.
- Une fois les utilisateurs connectés dans une application, ils n'ont pas besoin de se reconnecter dans d'autres applications sur le même appareil.
Certaines préoccupations peuvent survenir ici, mais elles sont toutes abordables.
1. Comment différencier les applications ?
Le single sign-on ne signifie pas que nous traitons toutes les applications de la même manière. Dans la norme ouverte bien connue OpenID Connect, chaque application est appelée un client, et les flux d'authentification diffèrent selon le type de client. Alors que les utilisateurs finaux n'ont pas besoin de connaître la différence, le type de client est important pour le serveur d'authentification afin de déterminer le flux d'authentification.
2. Que faire si les utilisateurs ne veulent pas partager le même compte ?
C'est une préoccupation valable, mais ce n'est pas un problème avec le SSO. Si les utilisateurs ne veulent pas partager le même compte, ils peuvent créer un nouveau compte pour la nouvelle application. L'essentiel est de donner aux utilisateurs la possibilité de choisir.
3. Que faire si je dois restreindre l'accès à certaines applications ?
En fait, le SSO est une technique pour l'authentification, tandis que le contrôle d'accès concerne l'autorisation. Le SSO peut être dissocié du contrôle d'accès. Par exemple, vous pouvez utiliser le SSO pour authentifier les utilisateurs, puis utiliser le contrôle d'accès basé sur les rôles (RBAC) pour restreindre l'accès à certaines applications ou ressources.
Pour en savoir plus sur l'authentification et l'autorisation, consultez CIAM 101: Authentication, Identity, SSO.
4. Le SSO nécessite de rediriger les utilisateurs vers le serveur d'authentification.
La redirection est une pratique standard pour l'authentification. En considérant l'expérience utilisateur, nous pouvons utiliser plusieurs techniques pour réduire la friction :
- Utiliser des jetons de rafraîchissement pour réduire la fréquence de l'authentification.
- Initialiser le processus d'authentification avec une méthode de connexion spécifique, comme Google ou Facebook, pour réduire le nombre de clics.
- Exploiter l'authentification silencieuse pour accélérer le processus d'authentification.
Améliorer la sécurité
1. Un point central pour toutes les opérations liées à la sécurité
Le SSO vous permet de gérer toutes les opérations liées à la sécurité en un point central. Par exemple, comme nous l'avons mentionné dans la section précédente, le SSO peut toujours différencier les applications et appliquer des flux d'authentification spécifiques à la plateforme pour chaque application. Sans SSO, vous devez mettre en œuvre divers flux d'authentification en fonction du type d'application.
De plus, des fonctionnalités de sécurité avancées telles que l'authentification multi-facteurs (MFA) sont plus faciles à mettre en œuvre avec le SSO sans bouleverser le modèle d'authentification.
2. Surface d'attaque réduite
En théorie, le SSO réduit la surface d'attaque car vous n'avez besoin de sécuriser qu'un serveur d'authentification au lieu de plusieurs applications. L'approche centralisée permet également de surveiller et de détecter plus facilement les activités suspectes.
3. Normes et protocoles éprouvés
Les normes et protocoles ouverts tels que OpenID Connect et OAuth 2.0 sont largement utilisés dans l'industrie et ont été éprouvés depuis des années. Les deux correspondent au concept de SSO et sont supportés par la plupart des fournisseurs d'identité (IdPs). En combinant ces normes avec le SSO, vous pouvez avoir un système d'authentification sécurisé et fiable.
D'accord, mettons en œuvre le SSO
Mettre en œuvre le SSO peut être grand et compliqué, il y a beaucoup de choses à considérer, telles que :
- Conformité aux normes et protocoles
- Flux d'authentification pour différents types de clients
- Multiples méthodes de connexion
- Caractéristiques de sécurité telles que la MFA
- Expérience utilisateur
- Contrôle d'accès
Chacun de ces sujets peut être un article séparé et écrasant. Pour simplifier, il est pr éférable de commencer avec un service géré qui fournit le SSO prêt à l'emploi. Notre produit Logto est un tel service, et il ne vous faudra que quelques minutes pour l'intégrer à votre application.
L'une des préoccupations les plus courantes lors de l'utilisation d'un service géré est l'emprisonnement des fournisseurs. Heureusement, ce n'est pas un problème avec Logto. Logto est construit sur OpenID Connect et OAuth 2.0, et il est open-source depuis sa création. Nous privilégions la fourniture d'une garantie à nos clients et visons à vous donner la liberté de choisir.