Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Puis-je utiliser Authy au lieu de Google Authenticator dans Laravel Fortify


Puis-je utiliser Authy au lieu de Google Authenticator dans Laravel Fortify


Laravel Fortify est un package d'authentification backend pour Laravel qui prend en charge l'authentification à deux facteurs (2FA) via des mots de passe unique basés sur le temps (TOTP). Il est flexible et agnostique pour les applications clients TOTP que les utilisateurs des utilisateurs, ce qui signifie qu'il ne vous attache pas spécifiquement à Google Authenticator et peut fonctionner avec n'importe quelle application d'authentification basée sur TOTP, y compris Authy.

ce que fait Laravel Fortify pour 2fa

Laravel Fortify fournit la logique backend pour générer les clés secrètes 2FA, les stocker en toute sécurité, générer des codes de récupération et valider les jetons TOTP pendant la connexion. Il utilise la clé secrète à deux facteurs de l'utilisateur pour vérifier le mot de passe unique généré par toute application Authenticatrice qui prend en charge l'algorithme TOTP standard (RFC 6238). Fortify lui-même ne mandate ni ne restreint quelle application mobile ou de bureau que l'utilisateur doit utiliser.

Utilisation d'Authy au lieu de Google Authenticator

Authy et Google Authenticator sont tous deux des applications Authenticatrices basées sur TOTP. Les deux génèrent des codes à 6 chiffres toutes les 30 secondes sur la base d'une clé secrète partagée lors de la configuration (généralement en scannant un code QR). Laravel Fortify fonctionne de manière transparente avec toute application client qui prend en charge cette norme. Par conséquent, vous pouvez absolument utiliser Authy au lieu de Google Authenticator avec Laravel Fortify.

Points clés sur Authy et Google Authenticator dans ce contexte:

- Compatibilité: Authy utilise la même norme TOTP que Google Authenticator, donc toute configuration 2FA dans Laravel Fortify fonctionnera avec l'une ou l'autre des applications sans aucun changement dans votre backend Laravel.

- Expérience utilisateur: Authy offre certains avantages par rapport à Google Authenticator, tels que la synchronisation des jetons sur les appareils (support multi-appareils), les sauvegardes cloud cryptées et les applications de bureau (historiquement, actuellement centrée sur le mobile), qui peut créer une meilleure expérience utilisateur.

- Sécurité: Authy a des options pour la protection des broches et la sécurité biométrique sur l'application, et les sauvegardes chiffrées, tandis que Google Authenticator manque de sauvegardes cloud cryptées et de synchronisation multi-appareils. Ces fonctionnalités peuvent rendre Authy plus conviviale et résiliente contre la perte de périphérique du point de vue d'un utilisateur.

- Configuration dans Laravel Fortify: le seul changement dans votre implémentation Laravel Fortify serait de fournir le code QR ou la clé secrète à l'utilisateur pour la numérisation dans Authy au lieu de Google Authenticator. Étant donné que les deux applications lisent le même format, le code QR Fortify génère fonctionne à l'extérieur de la boîte avec l'une ou l'autre des applications.

Considérations de mise en œuvre

1. Frontend QR Code Affichage: Lors de l'activation de 2FA, Fortify génère généralement un code QR basé sur la clé secrète. Ce code QR peut être scanné par les applications Authy ou Google Authenticator. Votre frontend doit simplement rendre ce code QR, et l'utilisateur peut choisir son application préférée. Aucune modification du code backend nécessaire.

2. Étape de confirmation: un problème parfois rencontré avec Laravel Fortify est que l'activation de 2FA sans confirmer le code entré peut verrouiller les utilisateurs s'ils ne terminent pas correctement la configuration. Implémentation d'une étape de confirmation où l'utilisateur entre un code généré par Authy (ou Google Authenticator) après avoir scanné le code QR est une meilleure pratique. Cela s'applique quelle que soit l'application d'authentification utilisée.

3. Codes de récupération: Fortify fournit des codes de récupération pour le contournement 2FA si l'utilisateur perd accès à son application Authenticatrice. Ces codes fonctionnent indépendamment du choix de l'application (Authy ou Google Authenticator).

Résumé des différences du point de vue des utilisateurs

- Avantages Authy: **
- Prise en charge multi-appareils et synchronisation automatique des jetons 2FA.
- sauvegardes cloud cryptées pour éviter de perdre des jetons sur la perte de périphérique.
- Pin en option et sécurité biométrique pour l'application.
- Prise en charge des applications de bureau et de navigateur (bien que certaines applications de bureau ont été interrompues au début de 2024).
- Authentification basée sur la push (mais pas TOTP standard, plus pertinente pour d'autres implémentations).

- Avantages Google Authenticator: **
- Plus largement connu et soutenu par de nombreux services.
- Application plus simple, infrastructure de support moins complexe (pas de comptes, pas de sauvegardes).
- entièrement hors ligne après la configuration initiale (pas de sauvegardes cloud).

À partir d'un point de vue de l'intégration de Laravel Fortify, ces différences sont sans conséquence car les codes TOTP de l'une ou l'autre des applications sont validés de la même manière par Fortify.

Notes supplémentaires sur l'utilisation de Fortify

Laravel Fortify ne fournit pas de vues de frontend ni d'interface utilisateur; Il fournit des services backend pour l'authentification. De nombreux développeurs utilisent Fortify avec Laravel Jetsstream ou d'autres kits d'interface utilisateur. Quelle que soit l'interface utilisateur, la clé est que Fortify génère les codes Secret 2FA et valide, laissant le choix de l'application Authenticator à l'utilisateur.

Si la personnalisation est nécessaire pour améliorer la récupération du compte UX ou gérer mieux (ajoutant un drapeau "Two_factor_confirmed", des vues de personnalisation, etc.), il peut être implémenté dans la couche Fortify mais est indépendant du choix entre Authy et Google Authenticator.

Conclusion

Oui, vous pouvez utiliser Authy au lieu de Google Authenticator dans Laravel Fortify sans aucun changement nécessaire à votre implémentation Backend 2FA. Les deux applications utilisent la même norme TOTP entièrement prise en charge par Fortify. Choisir Authy peut offrir des fonctionnalités améliorées d'utilisation et de sauvegarde pour vos utilisateurs, en particulier dans les scénarios de perte d'appareils ou d'accès multi-appareils, mais du point de vue du développeur de Laravel, l'intégration reste la même. Les utilisateurs analysent simplement le code QR fourni par Fortify avec leur application préférée pour configurer 2FA.

Cette flexibilité est de conception, permettant à Laravel Fortify de fonctionner avec toutes les codes TOTP standard générant des applications, y compris, mais sans s'y limiter, Google Authenticator, Authy, Microsoft Authenticator et autres.