Pular para o conteúdo
Skillpedia
Segurança35 mil · #5600

configuring-oauth2-authorization-flow

Dá ao seu agente de IA instruções prontas para uma tarefa específica, para ele fazer melhor e mais rápido.

O que ela faz

Esta ferramenta ajuda a configurar como aplicativos e serviços se conectam de forma segura a outros serviços, usando um método chamado OAuth 2.0. Ela garante que apenas os aplicativos certos acessem as informações certas.

Quando usar

  • ✓Ao criar um novo aplicativo que precisa acessar dados de outro serviço.
  • ✓Ao melhorar a segurança de um aplicativo existente.
  • ✓Ao configurar como diferentes sistemas de computador se comunicam de forma segura.

Exemplo do que pedir para a IA

“Configure o fluxo de autorização OAuth 2.0 para meu aplicativo móvel usando PKCE.”

Quer saber mais? Abra as seções abaixo.

Como usar

O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.

Link da skill

https://github.com/mukul975/Anthropic-Cybersecurity-Skills/blob/main/skills/configuring-oauth2-authorization-flow/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/mukul975/Anthropic-Cybersecurity-Skills/blob/main/skills/configuring-oauth2-authorization-flow/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
Como funciona

Ela define os passos para que um aplicativo solicite permissão para acessar dados. Isso envolve a troca de códigos secretos e tokens para garantir que a conexão seja segura e autorizada.

Instalação

Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.

No terminal (Claude Code, Codex, Cursor), na pasta do projeto:

npx skills add mukul975/Anthropic-Cybersecurity-Skills --skill configuring-oauth2-authorization-flow

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/mukul975/Anthropic-Cybersecurity-Skills/main/skills/configuring-oauth2-authorization-flow/SKILL.md -o SKILL.md
Conteúdo técnico (SKILL.md)

Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.

Configurando o Fluxo de Autorização OAuth 2.0

Visão Geral

Configure fluxos de autorização OAuth 2.0 seguros, incluindo Authorization Code com PKCE, Client Credentials e Device Authorization Grant. Esta habilidade abrange seleção de fluxo, implementação de PKCE, gerenciamento do ciclo de vida de tokens, design de escopos e alinhamento com os requisitos de segurança do OAuth 2.1.

Quando Usar

  • Ao implantar ou configurar capacidades de fluxo de autorização oauth2 em seu ambiente
  • Ao estabelecer controles de segurança alinhados a requisitos de conformidade
  • Ao construir ou melhorar a arquitetura de segurança para este domínio
  • Ao realizar avaliações de segurança que exigem esta implementação

Pré-requisitos

  • Familiaridade com conceitos e ferramentas de gerenciamento de identidade e acesso
  • Acesso a um ambiente de teste ou laboratório para execução segura
  • Python 3.8+ com as dependências necessárias instaladas
  • Autorização apropriada para quaisquer atividades de teste

Objetivos

  • Implementar o fluxo Authorization Code com PKCE para clientes públicos e confidenciais
  • Configurar o fluxo Client Credentials para comunicação máquina a máquina
  • Projetar hierarquias de escopos de privilégio mínimo
  • Implementar armazenamento, atualização e revogação segura de tokens
  • Aplicar as melhores práticas do OAuth 2.1 e as recomendações de segurança da RFC 9700
  • Validar a integridade do token e prevenir ataques OAuth comuns

Conceitos Chave

Tipos de Concessão OAuth 2.0

  1. Authorization Code + PKCE: Recomendado para todos os tipos de clientes (web, mobile, SPA). PKCE é obrigatório no OAuth 2.1.
  2. Client Credentials: Autenticação máquina a máquina sem contexto de usuário.
  3. Device Authorization Grant (RFC 8628): Para dispositivos com entrada restrita (smart TVs, ferramentas CLI).
  4. Refresh Token: Token de longa duração para obter novos tokens de acesso sem reautenticação.

PKCE (Proof Key for Code Exchange)

PKCE (RFC 7636) previne ataques de interceptação de código de autorização:

  1. Cliente gera code_verifier aleatório (43-128 caracteres, caracteres URI não reservados)
  2. Cliente computa code_challenge = BASE64URL(SHA256(code_verifier))
  3. Requisição de autorização inclui code_challenge e code_challenge_method=S256
  4. Requisição de token inclui code_verifier original
  5. Servidor valida se SHA256(code_verifier) corresponde ao code_challenge armazenado

Tipos de Token

  • Access Token: Curta duração (5-60 min), associado a bearer ou DPoP
  • Refresh Token: Longa duração, uso único com rotação
  • ID Token (OIDC): JWT contendo claims de identidade do usuário

Fluxo de Trabalho

Etapa 1: Fluxo Authorization Code com PKCE

  1. Gerar um code_verifier criptograficamente aleatório (mínimo de 43 caracteres)
  2. Computar o code_challenge usando o método S256
  3. Redirecionar o usuário para o endpoint de autorização com os parâmetros:
    • response_type=code
    • client_id, redirect_uri, scope, state
    • code_challenge, code_challenge_method=S256
  4. O usuário autentica e consente
  5. O servidor de autorização redireciona com o código de autorização
  6. Trocar o código + code_verifier por tokens no endpoint de token
  7. Validar se o parâmetro state corresponde ao valor original

Etapa 2: Design de Escopos

  • Definir escopos granulares: read:users, write:orders, admin:settings
  • Seguir o princípio de privilégio mínimo: solicitar os escopos mínimos necessários
  • Implementar validação de escopo no servidor de recursos
  • Documentar a hierarquia de escopos e os requisitos de consentimento

Etapa 3: Segurança de Tokens

  • Armazenar tokens de forma segura (cookies httpOnly para web, keychain para mobile)
  • Implementar atualização de tokens com rotação (tokens de atualização de uso único)
  • Definir expiração apropriada: tokens de acesso de 5-15 min, tokens de atualização de 8-24 hrs
  • Habilitar DPoP (Demonstration of Proof-of-Possession) para tokens com restrição de remetente
  • Implementar endpoint de revogação de tokens

Etapa 4: Fluxo Client Credentials

  1. Registrar o cliente de serviço com client_id e client_secret
  2. Solicitar token: POST /oauth/token com grant_type=client_credentials
  3. Incluir escopo para as permissões necessárias
  4. Armazenar client_secret de forma segura (cofre, variáveis de ambiente, não no código)
  5. Implementar autenticação de cliente baseada em certificado para maior garantia

Etapa 5: Endurecimento de Segurança

  • Forçar PKCE para todos os fluxos Authorization Code
  • Usar correspondência exata de URI de redirecionamento (sem curingas)
  • Implementar proteção CSRF com o parâmetro state
  • Habilitar rotação de refresh token e revogação ao detectar reuso
  • Aplicar as melhores práticas de segurança da RFC 9700
  • Bloquear o fluxo implícito e ROPC (removidos no OAuth 2.1)

Controles de Segurança

Controle NIST 800-53 Descrição
Controle de Acesso AC-3 Aplicação de acesso baseada em token

…

Perguntas frequentes

O que é OAuth 2.0?

É um padrão de segurança que permite que um aplicativo acesse recursos em outro serviço em seu nome, sem compartilhar suas senhas.

O que é PKCE?

É uma camada extra de segurança para o OAuth 2.0 que protege contra o roubo de códigos de autorização, especialmente em aplicativos móveis e web.

O que são 'tokens'?

São como crachás digitais de curta duração que um aplicativo usa para provar que tem permissão para acessar algo.

Detalhes

Descrição original do autor

Configures secure OAuth 2.0 authorization flows, including Authorization Code with PKCE, Client Credentials, and Device Authorization Grant, covering flow selection, PKCE implementation, token lifecycle management, and scope design per OAuth 2.1. Use when implementing or hardening OAuth 2.0 authentication/authorization for web, mobile, SPA, or machine-to-machine clients.

repo: mukul975/Anthropic-Cybersecurity-Skills

Popularidade

Estrelas no GitHub
35 mil
Posição no ranking
#5600
Licença
Apache-2.0
Atualizada em
31/08/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas