Compétences auth-implementation-patterns
🔐

auth-implementation-patterns

Sûr

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.

Prend en charge: Claude Codex Code(CC)
🥉 75 Bronze
1

Télécharger le ZIP du skill

2

Importer dans Claude

Allez dans Paramètres → Capacités → Skills → Importer un skill

3

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ûr
v1 • 2/24/2026

Educational 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.

2
Fichiers analysés
661
Lignes analysées
0
résultats
1
Total des audits
Aucun problème de sécurité trouvé
Audité par: claude

Score de qualité

38
Architecture
100
Maintenabilité
87
Contenu
50
Communauté
100
Sécurité
100
Conformité aux spécifications

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

Configuration JWT de base
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
Flux de token de rafraîchissement
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
Intégration OAuth2
Implémentez la connexion Google OAuth2 en utilisant Passport.js avec génération de token JWT après authentification
Autorisation RBAC
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 ?
Utilisez les sessions pour les applications traditionnelles avec rendu serveur où vous avez besoin d'une déconnexion simple et d'une protection CSRF. Utilisez les tokens (JWT) pour les SPAs, applications mobiles et microservices où vous avez besoin d'une authentification sans état et de requêtes cross-domain.
Comment stocker de manière sécurisée les secrets JWT ?
Ne jamais coder en dur les secrets dans le code source. Utilisez des variables d'environnement (process.env.JWT_SECRET) et chargez-les depuis des fichiers .env au runtime. Assurez-vous que .env est dans .gitignore et que les secrets sont injectés depuis des sources sécurisées en production.
Quelle est la différence entre authentification et autorisation ?
L'authentification (AuthN) vérifie QUI est un utilisateur (connexion avec identifiants). L'autorisation (AuthZ) détermine ce qu'un utilisateur peut FAIRE (permissions, rôles). Les deux sont essentiels mais servent des objectifs différents dans le contrôle d'accès.
Comment implémenter des tokens de rafraîchissement de manière sécurisée ?
Générez des tokens de rafraîchissement comme UUID aléatoires, stockez les versions hachées dans la base de données, définissez une expiration (7-30 jours), implémentez la rotation (émettre un nouveau token de rafraîchissement à chaque utilisation) et permettez la révocation pour la déconnexion ou les événements de sécurité.
Les tokens JWT peuvent-ils être révoqués ?
Les JWT sont sans état par conception. Pour révoquer : utilisez une liste de blocage de tokens dans Redis/base de données, implémentez une expiration courte pour que les tokens expirent naturellement, ou utilisez la rotation de token de rafraîchissement pour invalider les anciennes paires de tokens.
Quelle est la meilleure façon de gérer le stockage des mots de passe ?
Toujours hacher les mots de passe en utilisant bcrypt ou argon2 avec des facteurs de travail élevés (coût bcrypt 10-12). Ne jamais stocker les mots de passe en clair. Utilisez le sel fourni automatiquement par bcrypt. Vérifiez avec bcrypt.compare().

Détails du développeur

Structure de fichiers