Meilleure pratique
Il est important de prendre en compte à la fois la sécurité et l’expérience de l’utilisateur lorsque vous concevez la manière dont vous allez authentifier vos utilisateurs. Proposer plusieurs facteurs principaux et/ou exiger plus d’un facteur lors de l’authentification sont des moyens de répondre à ces deux besoins. Plusieurs éléments doivent être pris en compte lors de l’examen des fonctionnalités et du flux de travail :- À quel endroit les utilisateurs saisissent-ils leurs identifiants?
- Comment assurez-vous la sécurité des identifiants des utilisateurs?
- Comment comptez-vous maintenir votre système d’authentification?
- Comment pouvez-vous fournir une authentification par mot de passe à vos utilisateurs?
- Comment empêcher les pirates de se connecter en se faisant passer pour vos utilisateurs?
- Comment comptez-vous mettre en œuvre l’authentification dans plusieurs types d’applications?
- Comment faciliter la connexion de vos utilisateurs de langues différentes?
- Comment allez-vous offrir une bonne expérience à l’utilisateur alors que vous vous éloignez d’un système hérité d’authentification?
- Quels sont les éléments à prendre en compte lors de l’intégration d’applications avec Auth0?
- Les utilisateurs peuvent-ils se connecter en utilisant leurs comptes de réseaux sociaux existants (par ex., Facebook ou Google)?
- Vous faut-il une authentification multifacteur (MFA)?
- Que comptez-vous faire si votre service ne permet pas à l’utilisateur de se connecter au préalable?
- Êtes-vous en mesure de transmettre le même jeton d’accès d’un utilisateur d’une API à l’autre?
Connexion universelle d’Auth0
Meilleure pratique Si Si vous avez plusieurs applications, la meilleure pratique consiste à rediriger l’utilisateur vers un emplacement centralisé pour l’authentification. Avec Auth0, cela signifie tirer parti de la Connexion universelle, qui offre de nombreux avantages en matière de sécurité et d’expérience utilisateur prêts à l’emploi, y compris le SSO.
La connexion universelle Auth0 simplifie l’authentification des utilisateurs, en trois étapes simples (tous nos guides de démarrage rapide le démontrent et nos trousses SDK masquent la complexité pour vous également) :- Déterminez comment et quand vous souhaitez rediriger les utilisateurs à partir de votre application.
- Mettez en place la stratégie de marque appropriée ou le code HTML personnalisé dans votre configuration Auth0.
- Configurez votre application pour recevoir et traiter la réponse du serveur d’autorisation.
Authentification par nom d’utilisateur et mot de passe
Meilleure pratique La collecte d’identifiants uniquement sur la page de connexion centralisée réduira la surface d’exposition au risque de fuite de secrets utilisateur. Elle réduira également la nécessité de collecter inutilement des identifiants. Voir Connexion universelle pour plus d’informations. :::
Intégration des applications
Accès anonyme
- L’utilisateur revient-il dans l’application après s’être déjà connecté?
-
Est-ce la première fois que l’utilisateur accède à l’application :
- A-t-il déjà accédé à une autre application qui utilise le même locataire Auth0?
- S’est-il déjà (peut-être pas depuis longtemps) authentifié sur cet appareil ou ce navigateur?
Liens profonds vers des points de terminaison protégés
Meilleure pratique La plupart des cadres d’applications d’authentification modernes prennent en charge des logiciels médiateurs permettant de rediriger vers un serveur d’autorisation tel que Auth0. Lors de la sélection, voici quelques éléments clés à prendre en compte :
- Prise en charge des clients confidentiels, des clients non confidentiels ou des deux
- Prise en charge de la configuration via [point de terminaison d’exploration] (https://auth0.com/docs/get-started/applications/configure-applications-with-oidc-discovery « Configurer des applications avec OIDC Discovery » ou explicitement en ligne
- Prise en charge de la validation des jetons, y compris les expirations, signatures, demandes et permissions
- Prise en charge des si nécessaire :::
Authentifier l’utilisateur
- Devons-nous également disposer d’un jeton d’accès pour appeler une API partagée?
- L’application que vous utilisez est-elle une application monopage qui ne nécessite qu’un seul jeton d’ID? Pour plus d’informations, voir Octroi d’un code d’autorisation avec PKCE.
- L’application que vous utilisez est-elle une application native (mobile ou de bureau) ou avez-vous besoin d’un jeton d’actualisation? Pour plus d’informations, voir Octroi d’un code d’autorisation avec PKCE.
Protection contre les attaques
Meilleure pratique
La détection d’anomalies est gérée en coulisses par Auth0 et constitue une excellente fonction de sécurité pour votre produit. Si vous comptez l’utiliser, assurez-vous d’avoir configuré votre Fournisseur de courriel et configuré vos Modèles de courriel avant d’activer l’envoi de courriels à vos utilisateurs.Authentification unique (SSO) pour les anciens systèmes
- Mettez à jour votre fournisseur d’identité existant dans votre ancien système SSO de sorte à rediriger les utilisateurs vers Auth0 au moment de la connexion (par ex., à l’aide de SAML), ou
- alors autorisez Auth0 à rediriger les utilisateurs vers votre ancien système SSO pour qu’ils se connectent. Pour ce faire, vous devez configurer votre ancien système en tant que fournisseur d’identité () dans Auth0 (c-à-d., au moyen de SAML ou d’OIDC).
Meilleure pratique La prise en charge d’une expérience d’authentification unique (SSO) avec votre système hérité peut ajouter de la complexité, mais cela peut en valoir la peine pour offrir une expérience utilisateur plus fluide lors de l’intégration avec Auth0. Si vous envisagez de suivre cette voie, planifier cela tôt peut aider à garantir d’y parvenir. Si vous ne disposez pas déjà d’un service centralisé pour l’authentification unique (SSO), la complexité de son intégration risque de ne pas justifier les avantages. :::
Il s’agit d’un sujet complexe qui nécessitera probablement des recherches supplémentaires en fonction de votre architecture existante, c’est pourquoi nous vous recommandons de ne vous pencher sur cette question que si votre système existant prend actuellement en charge l’authentification unique (SSO). Remarque : si vous redirigez actuellement les utilisateurs de vos applications vers un système centralisé pour leur permettre de s’authentifier et que ce système ne demande des identifiants que si aucune session n’a déjà été ouverte avec le système centralisé, cela signifie que vous disposez d’une ancienne méthode d’authentification unique (SSO). Le scénario « Apportez votre propre identité » proposé par Facebook, Google, etc., est un moyen précieux de simplifier l’expérience d’authentification de l’utilisateur sans compromettre la sécurité et la connexion universelle permet d’ajouter facilement la prise en charge des connexions via un réseau social avec un minimum de perturbation. Avec la prise en charge de la connexion via un réseau social, les identités et les identifiants des utilisateurs sont gérés par le fournisseur de services de réseau social, de même que certaines revendications d’identité, qu’Auth0 utilisera pour remplir le profil de l’utilisateur. Auth0 peut également fournir un accès aux jetons d’accès des fournisseurs d’identité (IdP) des réseaux sociaux , de sorte que votre application puisse également appeler des API d’IdP des réseaux sociaux tiers au nom de l’utilisateur.Meilleures pratiques La connexion sociale est une fonctionnalité intéressante, mais lorsque vous proposez plusieurs façons de s’inscrire, vous devez envisager la possibilité que vos clients utilisent plusieurs façons de s’inscrire. Par défaut, chaque identité d’utilisateur dans Auth0 a son propre profil utilisateur, vous voudrez donc probablement considérer la capacité d’Auth0 à [Associer des comptes d’utilisateurs] (/users/concepts/overview-user-account-linking) pour fournir un moyen efficace d’associer un profil utilisateur à plusieurs identités. :::
Authentification multifacteur (MFA)
Meilleure pratique
Il est assez courant pour les applications destinées aux clients de fournir aux utilisateurs une option pour ajouter un deuxième facteur plutôt que de les forcer à utiliser un deuxième facteur. Pour plus d’informations à ce sujet, voir [fournir à vos utilisateurs une option pour ajouter la MFA] (https://auth0.com/learn/multifactor-authentication-customers/). Auth0 prend en charge un certain nombre d’options différentes en ce qui concerne l’activation de l’authentification multifacteur (MFA) pour protéger l’accès aux comptes utilisateurs. Nous proposons plusieurs pratiques qui vous permettront de fournir une barrière flexible de second facteur d’accès :- Auth0 Guardian : un service qui fournit à la fois la génération de notifications poussées et une application pour autoriser ou refuser les demandes. Une notification poussée est envoyée à l’appareil préenregistré de l’utilisateur, généralement un téléphone portable ou une tablette, à partir duquel l’utilisateur peut immédiatement autoriser ou refuser l’accès à son compte en appuyant simplement sur un bouton.
- Mot de passe à usage unique et durée définie (TOTP) : permet d’enregistrer un dispositif, tel que Google Authenticator, qui génère un mot de passe à usage unique qui change au fil du temps et qui peut être saisi en tant que second facteur de validation du compte d’un utilisateur.
- Message texte : pour l’envoi par message texte d’un code à usage unique que l’utilisateur est ensuite invité à saisir avant de pouvoir terminer l’authentification.
- Message vocal : pour délivrer un code à usage unique au moyen d’un appel téléphonique, que l’utilisateur est ensuite invité à saisir avant de pouvoir terminer l’authentification.
- Duo : vous permet d’utiliser votre compte Duo pour l’authentification multifacteur (MFA).
- Courriel : permet d’utiliser votre compte de messagerie pour l’authentification multifacteur (MFA).