Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
kit-oauth — Biblioteca cliente OAuth 2.0 para aplicações Kit que suporta fluxos de código de autorização, PKCE, credenciais de cliente e token de atualização com predefinições de provedor integradas para GitHub, Google, Microsoft, Discord, Slack e GitLab. | Kitploit
Ferramentas/GitLabGitLab/kit-lang/packages/kit-oauth
Autenticação e AutorizaçãoUtilitários e FrameworksAutenticaçãoSegurança de API
GitLabkit-lang/packages/kit-oauth

kit-oauth

Biblioteca cliente OAuth 2.0 para aplicações Kit que suporta fluxos de código de autorização, PKCE, credenciais de cliente e token de atualização com predefinições de provedor integradas para GitHub, Google, Microsoft, Discord, Slack e GitLab.

Ver Repositório

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar
há 1 mêsAinda não revisado

kit-oauth

Biblioteca cliente OAuth 2.0 para aplicações Kit


[TOC]


Arquivos

ArquivoDescrição
.editorconfigConfiguração de formatação do editor
.gitignoreRegras de ignorar do Git para artefatos de build e dependências
.tool-versionsVersões de ferramentas asdf (Zig, Kit)
LICENSEArquivo de licença MIT
README.mdEste arquivo
examples/client-credentials.kitExemplo de execução simulada de credenciais de cliente
examples/github.kitExemplo de execução simulada de código de autorização do GitHub
kit.tomlManifesto do pacote com metadados, capacidades e tarefas
src/oauth.kitImplementação do cliente OAuth 2.0
tests/oauth.test.kitTestes funcionais para auxiliares OAuth
tests/types.test.kitTestes de comportamento de tipos e constantes

Dependências

Nenhuma dependência de pacote Kit.

Este pacote utiliza os módulos HTTP e Time embutidos do Kit. O manifesto do pacote solicita a capacidade net porque os auxiliares de troca de token e requisições autenticadas realizam chamadas HTTP.

Instalação

root@kitploit:~
kit add gitlab.com/kit-lang/packages/kit-oauth.git

Uso

root@kitploit:~
import Kit.Oauth as OAuth

main = fn =>
  config = OAuth.github "client-id" "client-secret" "http://localhost:3000/callback" ["read:user", "user:email"]

  state = OAuth.generate-state
  auth-url = OAuth.authorize-url config state

  println "Open this authorization URL:"
  println auth-url

main

Código de Autorização

Após o provedor redirecionar de volta para sua URL de callback, valide que o state retornado corresponde ao state que você gerou, então troque o código de autorização por tokens:

root@kitploit:~
match OAuth.exchange-code http-auth config code
  | Ok tokens ->
    println "Token type: ${tokens.token-type}"
    println "Expires in: ${Int.to-string tokens.expires-in} seconds"
  | Err err ->
    println "OAuth error: ${err}"

Código de Autorização com PKCE

Use PKCE para clientes públicos, como aplicativos desktop, aplicativos móveis e fluxos baseados em navegador:

root@kitploit:~
verifier = "abcdefghijklmnopqrstuvwxyz0123456789-._~abc"
state = OAuth.generate-state
auth-url = OAuth.authorize-url-pkce config state verifier

match OAuth.exchange-code-pkce http-auth config code verifier
  | Ok tokens -> println "Access token received"
  | Err err -> println "OAuth error: ${err}"

O auxiliar PKCE atual usa o método de desafio plain. Ele está estruturado para poder migrar para S256 assim que um auxiliar de string SHA256 estiver disponível.

Credenciais de Cliente

Use credenciais de cliente para autenticação máquina a máquina:

root@kitploit:~
config = OAuth.custom "client-id" "client-secret" "https://auth.example.com/oauth/authorize" "https://auth.example.com/oauth/token" "https://app.example.com/oauth/callback" ["api:read", "api:write"]

match OAuth.client-credentials http-auth config
  | Ok tokens ->
    println "Access token received"
  | Err err ->
    println "OAuth error: ${err}"

Tokens de Atualização

root@kitploit:~
match OAuth.refresh-token http-auth config refresh-token
  | Ok tokens -> println "Refreshed access token"
  | Err err -> println "Refresh failed: ${err}"

Requisições Autenticadas

root@kitploit:~
match OAuth.get http-auth "https://api.example.com/user" tokens.access-token
  | Ok response ->
    println "Status: ${Int.to-string response.status}"
    println response.body
  | Error err ->
    println "API error: ${err}"
root@kitploit:~
json-body = "{\"name\":\"Kit\"}"

match OAuth.post http-auth "https://api.example.com/resources" json-body tokens.access-token
  | Ok response -> println "Created: ${Int.to-string response.status}"
  | Error err -> println "API error: ${err}"

Predefinições de Provedores

Os auxiliares de provedor embutidos retornam um OAuthConfig com os endpoints de autorização e token do provedor preenchidos:

Notas de Segurança

  • Sempre valide o valor do state do callback antes de trocar um código de autorização.
  • Use URIs de redirecionamento HTTPS em produção.
  • Não registre tokens de acesso, tokens de atualização, códigos de autorização ou segredos de cliente.
  • Armazene tokens de atualização em armazenamento seguro apropriado para sua aplicação.
  • Use variáveis de ambiente ou um gerenciador de segredos para segredos de cliente.
  • Trate os exemplos incluídos como exemplos de execução simulada. Eles são projetados para serem seguros para paridade e não contatam provedores OAuth reais.

Desenvolvimento

Executando Exemplos

Execute exemplos com o interpretador:

root@kitploit:~
kit run examples/github.kit
kit run examples/client-credentials.kit

Compile um exemplo para um binário nativo:

root@kitploit:~
kit build examples/github.kit && ./github

Executando Testes

Execute a suíte de testes:

root@kitploit:~
kit test

Execute a suíte de testes com cobertura:

root@kitploit:~
kit test --coverage

Executando kit dev

Execute o fluxo de trabalho padrão de desenvolvimento:

root@kitploit:~
kit dev

Isso irá:

  1. Verificar formatação
  2. Verificar tipos dos arquivos fonte em src/
  3. Verificar tipos dos exemplos em examples/
  4. Executar testes em tests/ com cobertura

Executando Paridade

Execute verificações de paridade entre interpretador/compilador para os exemplos:

root@kitploit:~
kit parity --failures-only

Os exemplos usam saída determinística e evitam chamadas de rede ao vivo para que a paridade possa comparar a saída do interpretador e do executável compilado de forma confiável.

Gerando Documentação

Gere documentação da API a partir de comentários de documentação:

root@kitploit:~
kit doc

Nota: Fontes Kit com comentários de documentação (##) gerarão documentos HTML em docs/*.html.

Limpando Artefatos de Build

Remova arquivos gerados, caches, resultados de paridade, documentação, arquivos de bloqueio e artefatos de build nativos:

root@kitploit:~
kit task clean

Nota: Definição em kit.toml.

Instalação Local

Para instalar este pacote localmente para desenvolvimento:

root@kitploit:~
kit install

Isso instala o pacote em ~/.kit/packages/@kit/oauth/, tornando-o disponível para importação como Kit.Oauth em outros projetos.

Licença

Este pacote é lançado sob a Licença MIT - veja LICENSE para detalhes.

Baixar ferramenta
AuxiliarProvedor
OAuth.githubGitHub
OAuth.googleGoogle
OAuth.microsoftMicrosoft Entra ID / Azure AD
OAuth.discordDiscord
OAuth.slackSlack
OAuth.gitlabGitLab
OAuth.customQualquer provedor OAuth 2.0