跳到正文
cccskills
免费在 GitHub 公开

auth-strategy

Auth decision guide: OAuth2/OIDC+PKCE, JWT rotation, RBAC/ABAC/ReBAC, token storage, revocation, MFA, sessions.

中文简介正在准备中。当前显示原文说明。

SebastianLuser/claude-code-arcane星标 3(GitHub 3 + cccskills 0)

实测评分 未实测

查看安装方法

包含的文件(2)

  • SKILL.md5.2 KB
  • references/anti-patterns.md1.6 KB

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

auth-strategy — Authentication + Authorization Decision Guide

MANDATORY WORKFLOW

Antes de recomendar o implementar cualquier estrategia de auth, completar estos pasos en orden.

Step 0: Gather Requirements

Clarificar (o inferir del contexto si ya fue especificado):

  1. Stack: Go + TS / pure TS / otro
  2. ¿Auth nueva o migración de existente? (si es migración, revisar implementación actual)
  3. ¿Multi-tenant? → define si necesita tenant scope en tokens y middleware
  4. ¿OAuth provider externo (Google, GitHub, etc.) o auth propio?
  5. ¿MFA requerido? ¿Para todos o solo roles admin/privilegiados?

Si el usuario ya especificó estos valores, saltar directamente al Step 1.

Step 1: Recomendar estrategia

Usar las tablas de OAuth / JWT / Authorization más abajo. Elegir el modelo correcto para el contexto. Explicar en 1-2 oraciones por qué.

Step 2: Implementar + Verificar

Implementar. Al terminar, validar contra el Checklist al final de este documento.


Pipeline: Authentication (who) -> Token (proof) -> Authorization (what they can do).

1. OAuth 2.0 / OIDC

FlowUse
Auth Code + PKCE (S256)Default for ALL clients (SPA, mobile, server)
Client CredentialsServer-to-server / M2M only
Implicit / Password GrantNEVER — deprecated

Always use PKCE even with client_secret. Validate state (CSRF), nonce (in id_token), code_challenge S256 (never plain), redirect_uri exact HTTPS (no wildcards). Verify id_token signature via JWKS + iss + aud + exp + nonce. Post-login: id_token is NOT a session token — create your own session.

2. JWT Strategy

AlgorithmWhenAvoid
RS256Default, broad interop—
EdDSAPerformance, smaller tokensIf consumers lack Ed25519
HS256Single service onlyMulti-service (shared secret)
alg: noneNEVER—

Lifetimes: Access 5-15 min. Refresh 7-30 days, rotated every use.

Refresh rotation: Track by family_id. On use: mark rotated, issue new with same family. Reuse of rotated token -> revoke entire family (theft detected).

Revocation: user_version claim (scales better — password/role change increments version) or blacklist jti with TTL (+1 cache hit/request).

JWKS: Expose /.well-known/jwks.json, rotate every 90 days with two active kid.

Storage:

PlatformAccessRefresh
Web SPAIn-memory (JS var)HttpOnly+Secure+SameSite=Lax cookie
MobileSecureStore (Keychain/Keystore)SecureStore
NEVERlocalStorage, sessionStorage, AsyncStorage—

Claims: Only sub (UUID) + authorization claims. Never PII — especially with minors.

3. Authorization Model

ModelWhenComplexity
RBAC + tenant scopeDefault (~80% of apps)Low
ABAC (Casbin)Dynamic context rules (time, state, resource props)Medium
ReBAC (OpenFGA/SpiceDB)Granular sharing (Google Docs-style)High

Start RBAC. Migrate to ABAC only when static roles can't express rules. Permission naming: resource:action (e.g., post:write). Never roles as permissions. Middleware order: auth -> tenant scope -> permission -> ownership (service layer). Ownership checks live in service layer (need business context). RLS is defense-in-depth (complements middleware, never replaces). Frontend auth is UX-only — backend ALWAYS validates. Cache permissions per user+tenant, TTL ~5 min, invalidate on role change.

4. MFA + Session Management

MFA triggerMethod
Admin/privileged rolesTOTP (broad support)
Phishing resistance neededWebAuthn/passkeys
Sensitive actions (delete, export, payment)Step-up re-prompt

Sessions: Concurrent limits per user/tenant. Absolute expiry (24h) + idle timeout (30 min). Invalidate on password/role change. Server-side storage, client holds opaque ID only.

Anti-patterns

→ Read references/anti-patterns.md for the full 17-item checklist.

Checklist

  • Auth Code + PKCE (S256), state + nonce validated
  • id_token verified (JWKS + iss + aud + exp + nonce)
  • redirect_uri exact HTTPS, client_secret backend-only
  • Own session post-OAuth (not reusing id_token)
  • RS256/EdDSA, access <=15min, refresh rotated with family tracking
  • JWKS endpoint with 90-day rotation
  • Revocation via blacklist jti or user_version
  • Storage: HttpOnly cookie / in-memory / SecureStore per platform
  • Permissions as resource:action, middleware: auth->scope->permission
  • Ownership in service layer, RLS as defense-in-depth
  • Permission cache with invalidation on role change

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

Plan, design, and implement A/B tests and experiments with statistical rigor. Covers hypothesis frameworks, sample sizing, metrics, and result analysis.

中文简介正在准备中。当前显示原文说明。

SebastianLuser/claude-code-arcane32026年10月27日 更新

Web/mobile accessibility decision guide: WCAG 2.2 AA, ARIA, keyboard nav, focus management, contrast, testing. Use for: a11y, accessibility, wcag, aria, screen reader, keyboard, contrast.

中文简介正在准备中。当前显示原文说明。

SebastianLuser/claude-code-arcane32026年10月27日 更新

Generate, iterate, and scale ad creative for paid advertising across Google, Meta, LinkedIn, and X. Covers platform specs, creative frameworks, and quality validation.

中文简介正在准备中。当前显示原文说明。

SebastianLuser/claude-code-arcane32026年10月27日 更新

Musica interactiva para juegos: layering vertical, re-secuenciacion horizontal, stingers, reglas de transicion con sync points, y mapeo de estados de gameplay a musica. Usar para: musica adaptativa, sistema de musica dinamica, transiciones musicales, combat music.

中文简介正在准备中。当前显示原文说明。

SebastianLuser/claude-code-arcane32026年10月27日 更新

Design multi-agent systems, create agent architectures, define communication patterns, and build autonomous agent workflows with structured evaluation frameworks.

中文简介正在准备中。当前显示原文说明。

SebastianLuser/claude-code-arcane32026年10月27日 更新

Inter-agent communication protocol for C-suite agent teams. Defines invocation syntax, loop prevention, isolation rules, response formats, and quality loops.

中文简介正在准备中。当前显示原文说明。

SebastianLuser/claude-code-arcane32026年10月27日 更新

查看 SebastianLuser 的全部技能

报告此技能的问题