L'identité n'est pas l'e-mail, et la connexion ne doit pas être un mur — sans négociation.
Un broker unique sur auth.{domaine} qui sait qui est la personne et le prouve aux applications : PKCE pour chaque client, JWT asymétriques, au moins 2 facteurs, ReBAC deny-by-default et récupération au moins aussi forte que la connexion.
$ schematize install iamPlanchers non négociables
Jamais désactivés « pour aller plus vite ». Liste complète dans la skill.
Auth est une application séparée
Service, front, repo et utilisateur propres sur auth.{domaine} ; toute connexion et inscription s'y passe et les apps délèguent via code + PKCE.
Clé de signature uniquement dans auth
Sans elle en prd le service refuse de démarrer ; les consommateurs valident via JWKS et contrôlent iss.
PKCE S256 pour chaque client
Implicit, ROPC et PKCE plain interdits ; redirect_uri par correspondance exacte avec une allowlist.
JWT asymétrique, jeton fin
Algorithme en allowlist, none et HS* rejetés ; refresh opaque, haché et rotatif avec détection de réutilisation.
ID interne opaque
Le sub est immuable et opaque ; l'e-mail et le téléphone ne sont jamais l'ID et ne comptent que vérifiés.
Au moins 2 facteurs, pas de mur avant connexion
Mot de passe plus OTP e-mail est déjà un 2FA de base ; le facteur fort est une incitation et un step-up just-in-time, jamais exigé avant la connexion.
La passkey est au cœur
WebAuthn avec un vrai flux d'enregistrement et d'assertion ; mots de passe en argon2id avec contrôle des mots de passe compromis.
ReBAC multi-tenant, deny-by-default
PDP/PEP côté serveur, décisions auditées, tuples par outbox et PDP fail-closed ; déconnexion irréversible sur tout chemin acceptant un jeton.
Commandes
Installées dans .claude/commands/. Lancez /iam-help à tout moment.
/iam-auditMesure la couverture IAM face à la checklist F0-F6 de la base, point par point, avec preuve./iam-authzModélise l'autorisation ReBAC multi-tenant d'un service : route vers permission, tuples, outbox et fail-closed./iam-ccContext compact : écrit le handoff dans l'archive et lance /compact./iam-claudeCrée ou fusionne le CLAUDE.md toujours actif du socle d'IAM à la racine du repo (n'écrase pas les blocs des autres skills)./iam-clientIntègre un client (web/BFF, SPA, mobile, CLI) au broker via authorization code + PKCE./iam-handoffGénère le handoff de contexte (context.md + checklist.md) dans l'archive, sans compacter./iam-helpListe toutes les commandes et ce que fait chacune./iam-loadCharge de force tout le corpus normatif d'IAM et l'applique pour la session./iam-recoverConçoit ou audite la récupération de compte et le step-up, avec preuve d'atteignabilité par état de compte./iam-reviewRevoit le code et la config d'auth face au socle : lance les gates puis lit ce que la machine ne lit pas.Pour les agents IA
Installation sans intervention humaine. Métadonnées dans llms.txt.
- Lancez : git clone https://github.com/schematizeme/skill-iam.git && ./skill-iam/install.sh
- Ou téléchargez : https://github.com/schematizeme/skill-iam/releases/latest/download/skill-iam.zip et décompressez dans .claude/skills/
- Copiez assets/CLAUDE.md à la racine du repo (règle toujours active).
- Confirmez avec /iam-help.
Discussion
Chargement…