Skip to main content

auth-patterns

Provides authentication and authorization patterns for JWT handling and RBAC; use when implementing login, token management, OAuth integration, or RBAC, or when reviewing auth code.

Informações da origem

Repositório
sawrus/agent-guides
Última atividade na origem
16 de outubro de 2026 às 19:08
Idioma detectado do SKILL.md
inglês
Estrelas
19
Forks
4

Opções de instalação

Por padrão, está selecionado o prompt que primeiro revisa a origem. Você pode mudar para um comando direto ou baixar uma cópia local.

Revise os arquivos de origem

Leia o SKILL.md e os arquivos complementares exibidos pelo SkillsMP antes de decidir se vai instalar.

Exibindo SKILL.md

SKILL.md
Instruções da origem · Visualização somente leitura
name
auth-patterns
description
Provides authentication and authorization patterns for JWT handling and RBAC; use when implementing login, token management, OAuth integration, or RBAC, or when reviewing auth code.
# Skill: Authentication & Authorization Patterns ## When to load When implementing login, token management, OAuth integration, RBAC, or reviewing auth code. ## JWT Best Practices ```python def create_access_token(user_id: str) -> str: return jwt.encode( payload={ "sub": user_id, "iat": datetime.utcnow(), "exp": datetime.utcnow() + timedelta(minutes=15), # Short expiry "jti": str(uuid.uuid4()), # Unique ID for revocation "type": "access", # Prevent refresh token as access token }, key=settings.JWT_PRIVATE_KEY, algorithm="RS256", # Asymmetric. Never HS256 in distributed systems. ) ``` **Anti-patterns**: No `exp` claim; storing JWT in `localStorage`; using `alg: none`; sensitive data in payload. ## RBAC Pattern ```python PERMISSIONS = { "invoices:read": ["viewer", "editor", "admin"], "invoices:create": ["editor", "admin"], "invoices:delete": ["admin"], } def require_permission(permission: str): def dependency(current_user: User = Depends(get_current_user)): allowed_roles = PERMISSIONS.get(permission, []) if current_user.role not in allowed_roles: raise HTTPException(status_code=403) return current_user return dependency ```
Ver no GitHub