auth-implementation-patterns
Implémenter des systèmes d'authentification sécurisés
Également disponible depuis: wshobson
Apprenez des modèles d'authentification et d'autorisation éprouvés pour créer un contrôle d'accès sécurisé dans vos applications sans réinventer la roue.
Télécharger le ZIP du skill
Importer dans Claude
Allez dans Paramètres → Capacités → Skills → Importer un skill
Activez et commencez à utiliser
Tester
Utilisation de "auth-implementation-patterns". Comment implémenter l'authentification JWT dans Express ?
Résultat attendu:
Une implémentation JWT complète inclut : 1) Générer des tokens avec jwt.sign() en utilisant des secrets depuis des variables d'environnement, 2) Créer un middleware authenticate qui vérifie les tokens Bearer, 3) Utiliser des tokens d'accès de courte durée (15 min) avec des tokens de rafraîchissement plus longs (7j), 4) Stocker les tokens de rafraîchissement hachés dans la base de données. Consultez Pattern 1 dans implementation-playbook.md pour le code complet.
Utilisation de "auth-implementation-patterns". Quelle est la différence entre l'authentification par session et par token ?
Résultat attendu:
Basé sur des sessions : Le serveur stocke l'état, ID de session dans un cookie, simple mais nécessite des sessions persistantes. Basé sur des tokens (JWT) : Sans état, claims auto-contenus, mise à l'échelle horizontale, mais impossible de révoquer facilement des tokens individuels. Choisissez les sessions pour les applications traditionnelles, JWT pour les APIs et microservices.
Utilisation de "auth-implementation-patterns". Comment implémenter l'autorisation basée sur les rôles ?
Résultat attendu:
Définissez les rôles dans un enum (USER, MODERATOR, ADMIN), créez un mapping de hiérarchie de rôles, construisez un middleware requireRole() qui vérifie le rôle de l'utilisateur contre les rôles autorisés, appliquez le middleware aux routes protégées. Exemple : app.delete('/users/:id', authenticate, requireRole('ADMIN'), handler)
Audit de sécurité
SûrEducational documentation skill containing authentication and authorization code patterns. All 67 static findings are false positives: backticks are markdown code fences, environment variable access demonstrates proper secret handling, and weak crypto mentions are in cautionary context. No actual security risks present.
Score de qualité
Ce que vous pouvez construire
Créer une authentification JWT de zéro
Implémenter une authentification complète par token avec tokens d'accès, tokens de rafraîchissement et gestion appropriée des secrets
Ajouter une connexion sociale OAuth2
Intégrer l'authentification OAuth2 de Google et GitHub dans des applications existantes
Concevoir un modèle d'autorisation
Créer des systèmes de contrôle d'accès RBAC ou basés sur les permissions pour les ressources d'application
Essayez ces prompts
Montrez-moi comment implémenter l'authentification JWT dans Node.js avec Express, incluant la génération de tokens et le middleware de vérification
Créez un flux de token de rafraîchissement qui stocke de manière sécurisée les tokens de rafraîchissement dans une base de données et émet de nouveaux tokens d'accès
Implémentez la connexion Google OAuth2 en utilisant Passport.js avec génération de token JWT après authentification
Concevez un système de contrôle d'accès basé sur les rôles avec les rôles admin, modérateur et utilisateur, incluant un middleware pour la vérification des permissions
Bonnes pratiques
- Toujours utiliser des variables d'environnement pour les secrets (JWT_SECRET, SESSION_SECRET), ne jamais coder en dur les identifiants
- Utiliser des tokens d'accès de courte durée (15-30 minutes) avec des tokens de rafraîchissement séparés pour une meilleure sécurité
- Stocker les tokens de rafraîchissement hachés dans la base de données et implémenter la rotation de token à chaque utilisation
Éviter
- Stocker le JWT dans localStorage expose les tokens aux attaques XSS - utilisez des cookies httpOnly à la place
- Ne pas valider l'expiration du token permet aux tokens expirés d'être utilisés indéfiniment
- Les vérifications d'autorisation côté client uniquement peuvent être contournées - validez toujours côté serveur
Foire aux questions
Quand devrais-je utiliser l'authentification par session vs par token ?
Comment stocker de manière sécurisée les secrets JWT ?
Quelle est la différence entre authentification et autorisation ?
Comment implémenter des tokens de rafraîchissement de manière sécurisée ?
Les tokens JWT peuvent-ils être révoqués ?
Quelle est la meilleure façon de gérer le stockage des mots de passe ?
Détails du développeur
Auteur
sickn33Licence
MIT
Dépôt
https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/auth-implementation-patternsRéf
main
Structure de fichiers