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
Mensagem pronta para colar
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-flowOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/mukul975/Anthropic-Cybersecurity-Skills/main/skills/configuring-oauth2-authorization-flow/SKILL.md -o SKILL.mdConteú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
- Authorization Code + PKCE: Recomendado para todos os tipos de clientes (web, mobile, SPA). PKCE é obrigatório no OAuth 2.1.
- Client Credentials: Autenticação máquina a máquina sem contexto de usuário.
- Device Authorization Grant (RFC 8628): Para dispositivos com entrada restrita (smart TVs, ferramentas CLI).
- 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:
- Cliente gera
code_verifieraleatório (43-128 caracteres, caracteres URI não reservados) - Cliente computa
code_challenge = BASE64URL(SHA256(code_verifier)) - Requisição de autorização inclui
code_challengeecode_challenge_method=S256 - Requisição de token inclui
code_verifieroriginal - Servidor valida se
SHA256(code_verifier)corresponde aocode_challengearmazenado
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
- Gerar um
code_verifiercriptograficamente aleatório (mínimo de 43 caracteres) - Computar o
code_challengeusando o método S256 - Redirecionar o usuário para o endpoint de autorização com os parâmetros:
response_type=codeclient_id,redirect_uri,scope,statecode_challenge,code_challenge_method=S256
- O usuário autentica e consente
- O servidor de autorização redireciona com o código de autorização
- Trocar o código +
code_verifierpor tokens no endpoint de token - Validar se o parâmetro
statecorresponde 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
httpOnlypara 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
- Registrar o cliente de serviço com
client_ideclient_secret - Solicitar token: POST /oauth/token com
grant_type=client_credentials - Incluir escopo para as permissões necessárias
- Armazenar
client_secretde forma segura (cofre, variáveis de ambiente, não no código) - 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.
Popularidade
- Estrelas no GitHub
- 35 mil
- Posição no ranking
- #5600
- Licença
- Apache-2.0
- Atualizada em
- 31/08/2026
Comentários
- …
Mais skills deste repositório
abusing-dpapi-for-credential-access
Dá ao seu agente de IA instruções prontas para uma tarefa específica, para ele fazer melhor e mais rápido.
mukul975/Anthropic-Cybersecurity-Skills
abusing-shadow-credentials-for-privesc
Ensina seu agente de IA a escrever textos claros e bem estruturados.
mukul975/Anthropic-Cybersecurity-Skills
achieving-cmmc-level-2-compliance
Ajuda seu agente a preparar um ambiente para conformidade com CMMC Nível 2. Ele implementa requisitos de segurança e gerencia a documentação necessária.
mukul975/Anthropic-Cybersecurity-Skills
acquiring-disk-image-with-dd-and-dcfldd
Ajuda seu agente a criar cópias exatas de discos rígidos. Isso é útil para garantir que nenhuma informação seja perdida ou alterada durante investigações.
mukul975/Anthropic-Cybersecurity-Skills
Skills parecidas
django-security
Ajuda seu agente a implementar práticas de segurança em aplicações Django. Ele foca em autenticação, autorização e prevenção contra ataques comuns, garantindo um código mais seguro.
affaan-m/ECC
laravel-security
Ajuda seu agente a proteger aplicações Laravel contra ameaças. Implementa práticas de segurança para autenticação, autorização e prevenção de ataques comuns.
affaan-m/ECC
module-regression
Ajuda seu agente a gerenciar mudanças em projetos grandes. Garante que alterações em uma parte do código não quebrem outras partes.
affaan-m/ECC