Fermer

décembre 11, 2023

Résoudre les problèmes liés aux appareils Remember / Blogs / Perficient


Pourquoi Okta ?

Qui peut oublier Okta? Il s’agit essentiellement d’un nom familier dans de nombreuses entreprises. Même si vous ne connaissez pas Okta, vous reconnaissez probablement son nom. Okta est une plateforme cloud de gestion des identités et des accès qui fournit des services sécurisés d’authentification et d’autorisation des utilisateurs. Il permet aux organisations de gérer et de contrôler l’accès à diverses applications logicielles, systèmes et ressources de données sur plusieurs appareils et réseaux.

À mon avis, les meilleures raisons d’utiliser Okta sont la fonctionnalité d’authentification multifacteur (MFA) et d’authentification unique (SSO). Il ajoute une couche de sécurité supplémentaire et permet aux utilisateurs d’accéder à plusieurs applications et services avec un seul ensemble d’informations d’identification, éliminant ainsi le besoin de mémoriser plusieurs noms d’utilisateur et mots de passe.

La MFA est extrêmement importante pour sécuriser le flux de connexion, car elle ajoute une couche de vérification supplémentaire au-delà du simple mot de passe, qui est volé et divulgué chaque jour par le biais du phishing et des violations de données. Nous aimons tous un assistant de sécurité, mais ces étapes d’authentification supplémentaires peuvent sembler exhaustives et trop protectrices, surtout si la connexion s’effectue sur le même appareil avec les mêmes informations d’identification.

C’est ici que Mémoriser l’appareil entre en jeu et permet aux utilisateurs d’accéder facilement à leurs comptes sans avoir besoin d’une MFA fréquente. Okta fournit cette fonctionnalité et propose plusieurs méthodes recommandées pour la mettre en œuvre.

Devenir technique

La documentation d’Okta fournit des informations sur la mise en œuvre de la fonctionnalité Mémoriser l’appareil. Ils ont leur propre implémentation, mais il peut être avantageux de générer votre propre jeton pour les appareils à partir desquels vos utilisateurs accèdent à l’application.

Pour y parvenir, Okta expose la propriété « deviceToken » qui peut être inclus dans l’objet contextuel d’une demande d’authentification standard. Ce jeton d’appareil sert d’identifiant unique pour l’appareil de l’utilisateur. Okta indique clairement qu’un remplacement de propriété est considéré comme une action hautement privilégiée, nécessitant un jeton API d’administrateur. L’introduction de l’objet contextuel de cette manière garantit qu’Okta se souvient de ce jeton d’appareil, quelle que soit la manière dont l’utilisateur procède dans le processus d’authentification.

C’est là qu’un problème commence à apparaître. Même si l’utilisateur ne définit pas explicitement le paramètre de requête « RememberDevice » sur vrai pendant le processus MFA, le jeton de l’appareil restera dans Okta pour cet utilisateur pendant une durée indéterminée. L’approche recommandée par Okta enregistre le jeton de l’appareil à CHAQUE FOIS. Même si un utilisateur sélectionne Ne pas se souvenirtoute personne qui enregistre ou a accès à ce jeton d’appareil peut l’utiliser pour contourner l’authentification multifacteur lors de la prochaine connexion à ce compte. Cela peut être particulièrement délicat lorsque plusieurs utilisateurs peuvent avoir des comptes sur le même appareil.

Dans le monde réel:

  • 300 utilisateurs se connectent quotidiennement pendant 1 semaine
  • 300 x 7 = 2100 jetons d’appareil stockés dans Okta par semaine
  • Okta ne fournit aucune information sur son seuil de stockage de ces valeurs
  • Tous les jetons précédents sont toujours actifs et peuvent contourner MFA

Heureusement, comme pour la plupart des défis techniques, l’entreprise responsable a déjà découvert un moyen de résoudre le problème. Jetons un coup d’œil au widget d’interface utilisateur d’Okta qu’ils fournissent pour la connexion et l’AMF.

Okta utilise des cookies

Lors de l’authentification via le widget Okta, le même problème ne se produit pas. Si vous prenez le jeton d’appareil généré lors de la connexion, ne sélectionnez pas « Mémoriser l’appareil » et essayez de forcer ce même jeton lors d’une connexion ultérieure, Okta le traite comme un nouveau jeton d’appareil. Que fait le widget d’Okta que sa documentation nous cache ?

Okta utilise le cookie Device Token (DT) comme jeton sécurisé stocké sur l’appareil d’un utilisateur après une authentification réussie. Il sert de forme d’identification pour l’appareil et permet à Okta de reconnaître et de faire confiance à cet appareil pour de futures tentatives de connexion.

Ce cookie est utilisé par leur système pour stocker lors d’un appel MFA si le paramètre de requête RememberDevice est vrai. Si ce paramètre n’est pas vrai, Okta n’enregistrera PAS ce jeton. Lors de l’intégration avec Okta via un service backend personnalisé, si vous voulez vraiment vous assurer que les jetons d’appareil que vous générez ne sont pas gérés par Okta, vous devrez alors définir la valeur du cookie DT au lieu de l’objet contextuel.

Ce n’est pas une action privilégiée, elle ne sauvegarde pas le jeton de l’appareil. Okta fournit même facilement son propre jeton d’appareil à l’aide de ce cookie s’il n’est pas transmis via l’objet contextuel ou le cookie DT lors de la demande d’authentification initiale.

Quel est le piège?

Malheureusement, cette solution ne fonctionne que pour l’intégration d’Okta dans un service back-end. En raison de la mise à jour Récupérer les spécificationsles navigateurs empêchent tout JavaScript d’accéder au « Set-Cookie» en-têtes.

La seule façon d’aborder la génération de jetons d’appareil personnalisés à partir d’un frontal JavaScript consiste à utiliser l’objet contextuel et à garantir que chaque jeton généré est unique par utilisateur et par appareil.

Conclusion

Okta fournit toujours l’un des systèmes d’authentification les plus puissants du secteur technologique et il existera probablement pendant longtemps. Si vous souhaitez bénéficier d’une expérience plus personnalisée et générer vos propres jetons, gardez à l’esprit les problèmes qui peuvent survenir lors de l’utilisation de l’approche recommandée par Okta. Avec un service backend, nous pouvons contourner ces problèmes et nous assurer de créer un seul jeton d’appareil par utilisateur sur demande. Si votre solution ne nécessite pas de personnalisation, nous vous recommandons le widget Okta qui intègre déjà la gestion appropriée des jetons de périphérique.

De cette façon, Okta se souviendra de vous uniquement comme vous le souhaitez.

Pour plus d’informations sur Perficient Solutions mobiles compétence, s’abonner sur notre blog ou contact notre équipe de solutions mobiles dès aujourd’hui !






Source link

décembre 11, 2023