Compétences api-jwt-authenticator
📦

api-jwt-authenticator

v1.0.0 Risque faible

Sécuriser les APIs FastAPI avec l'authentification JWT

Les APIs FastAPI nécessitent une authentification sécurisée pour protéger les points d'accès et les données utilisateur. Cette compétence fournit des conseils sur la mise en œuvre de la validation des jetons JWT, la vérification de l'identité utilisateur et le contrôle d'accès basé sur les rôles pour les APIs REST.

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

Télécharger le ZIP de la compétence

2

Importer dans Claude

Accédez à Paramètres → Capacités → Skills → Importer une compétence

3

Activez et commencez à utiliser

Ressources lisibles par les agents

Utilisez ces liens lorsqu’un Agent IA, un crawler ou un script a besoin d’un contexte propre au lieu de lire toute la page.

Tester

Utilisation de « api-jwt-authenticator ». Ajouter l'authentification JWT à mon point d'accès de profil utilisateur FastAPI

Résultat attendu:

  • Jeton JWT extrait de l'en-tête Authorization
  • Signature de jeton validée avec la clé secrète
  • Expiration du jeton vérifiée (non expiré)
  • Identité utilisateur extraite du payload du jeton
  • Profil utilisateur retourné pour la demande authentifiée
  • 401 Non autorisé retourné pour un jeton invalide

Utilisation de « api-jwt-authenticator ». Créer un point d'accès réservé aux administrateurs utilisant l'accès basé sur les rôles

Résultat attendu:

  • Rôle utilisateur extrait du payload du jeton JWT
  • Rôle comparé à la permission 'admin' requise
  • Utilisateur admin accordé accès au point d'accès sensible
  • Utilisateur non-admin reçoit une réponse 403 Interdit
  • Audit d'authentification enregistré pour la surveillance de sécurité

Audit de sécurité

Risque faible
v6 • 6/28/2026

Static analysis flagged Markdown backticks, JWT terminology, and HTTP authentication documentation as suspicious patterns. Review found no executable code, shell invocation, prompt injection, malware behavior, or data exfiltration in SKILL.md. The skill is a conceptual security guide and is safe to publish with low residual risk.

1
Fichiers analysés
136
Lignes analysées
0
Review items
3
False positives ignored
Static false positives ignored (3)

These static matches were dismissed by semantic review or matched schema-only tokens, so they are shown for transparency but do not drive the quality score.

Faible
False Positive: Markdown Formatting Flagged as Shell Execution
The flagged locations use Markdown inline code for an Authorization header and JWT claim names. They do not contain Ruby code, shell execution, command substitution, or user-controlled command construction.
The evidence is plain Markdown documentation. The surrounding text describes token format and claims, not executable Ruby or shell behavior.
Faible
False Positive: Weak Cryptography Pattern Not Confirmed
The flagged lines do not specify a weak signing algorithm or unsafe cryptographic implementation. Line 7 is the skill description, and line 128 discusses testing error response formats.
No cryptographic algorithm is named at either location. The skill recommends validating JWT signatures and expiration but does not prescribe insecure crypto.
Faible
False Positive: System Reconnaissance Pattern Not Confirmed
The flagged locations describe HTTP status handling, token structure, information disclosure avoidance, and authentication tests. They do not collect host data, enumerate files, or inspect the runtime environment.
The context is API authentication guidance. No commands, filesystem reads, environment probing, or network discovery instructions are present.
Aucun problème de sécurité trouvé

Score de qualité

55
Architecture
100
Maintenabilité
87
Contenu
70
Communauté
95
Sécurité
83
Conformité aux spécifications

Ce que vous pouvez créer

Sécuriser les points d'accès API

Protéger les points d'accès FastAPI nécessitant un accès utilisateur authentifié avec la validation des jetons JWT et la vérification de l'identité utilisateur.

Mettre en œuvre le contrôle d'accès

Appliquer les politiques de contrôle d'accès basé sur les rôles garantissant que les utilisateurs ne peuvent accéder qu'aux ressources qu'ils sont autorisés à consulter.

Concevoir des systèmes d'authentification

Architecturer des modèles d'authentification sans état pour les microservices utilisant des jetons JWT avec les considérations de sécurité appropriées.

Essayez ces prompts

Protection JWT de base
Utiliser la compétence Authentificateur JWT d'API pour ajouter l'authentification JWT à un point d'accès FastAPI. Extraire le jeton Bearer de l'en-tête Authorization, valider la signature avec une clé secrète, vérifier l'expiration et retourner les informations utilisateur ou une erreur 401.
Accès spécifique à l'utilisateur
Appliquer le modèle d'authentificateur JWT pour garantir que les utilisateurs ne peuvent accéder qu'à leurs propres ressources. Extraire user_id du payload du jeton, comparer avec le propriétaire de la ressource et retourner 403 s'ils ne correspondent pas.
Permissions basées sur les rôles
Mettre en œuvre le contrôle d'accès basé sur les rôles utilisant la compétence Authentificateur JWT d'API. Définir les rôles admin, moderator et user dans les claims du jeton. Créer des dépendances qui vérifient le rôle utilisateur avant d'autoriser l'accès au point d'accès.
Système d'authentification complet
Concevoir un système d'authentification JWT complet pour FastAPI en suivant les bonnes pratiques de la compétence Authentificateur JWT d'API. Inclure le point d'accès de génération de jetons, les routes protégées, la gestion des erreurs et les considérations de sécurité de production.

Bonnes pratiques

  • Toujours utiliser HTTPS en production pour empêcher l'interception des jetons pendant la transmission
  • Stocker les clés secrètes dans des variables d'environnement ou des coffres-forts sécurisés, jamais dans le code source
  • Définir des délais d'expiration de jeton appropriés pour limiter les fenêtres d'exposition pour les jetons compromis

Éviter

  • Ne pas exposer les jetons JWT bruts dans les URLs ou les journaux serveur car cela permet le vol de jetons
  • Éviter de stocker des informations sensibles dans les payloads JWT car les jetons peuvent être décodés par n'importe qui
  • Ne jamais sauter la vérification de signature de jeton même dans les environnements de développement ou de test

Foire aux questions

Quelles bibliothèques Python fonctionnent avec cette compétence ?
Utiliser python-jose pour l'encodage/décodage JWT et passlib pour le hachage de mots de passe. Les deux s'intègrent bien avec les dépendances FastAPI.
Combien de temps doivent durer les jetons JWT ?
Les jetons d'accès expirent généralement en 15-30 minutes pour la sécurité. Utiliser des jetons de rafraîchissement pour des sessions plus longues avec une rotation appropriée.
Puis-je utiliser cela avec des microservices ?
Oui. JWT est idéal pour les microservices sans état. Partager les clés secrètes ou utiliser la cryptographie à clé publique pour la vérification des jetons entre les services.
Mes données de jeton sont-elles chiffrées ?
Les jetons JWT sont signés, pas chiffrés. N'importe qui peut décoder le payload. Ne jamais inclure de données sensibles comme les mots de passe dans les jetons.
Pourquoi ma validation de jeton échoue-t-elle ?
Vérifier que l'heure de l'horloge est synchronisée sur votre serveur, vérifier que la clé secrète correspond exactement et vous assurer que les jetons incluent les claims requis.
Comment cela se compare-t-il à l'authentification basée sur les sessions ?
JWT est sans état et passe à l'échelle horizontalement entre les services. Les sessions nécessitent un stockage serveur mais offrent une révocation immédiate. Choisir en fonction des besoins d'architecture.

Détails du développeur

Structure de fichiers

📄 SKILL.md