Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
kit-oauth — Biblioteca cliente de OAuth 2.0 para aplicaciones Kit que admite flujos de código de autorización, PKCE, credenciales de cliente y token de actualización con preajustes de proveedores incorporados para GitHub, Google, Microsoft, Discord, Slack y GitLab. | Kitploit
Herramientas/GitLabGitLab/kit-lang/packages/kit-oauth
Autenticación y AutorizaciónUtilidades y FrameworksAutenticaciónSeguridad de APIs
GitLabkit-lang/packages/kit-oauth

kit-oauth

Biblioteca cliente de OAuth 2.0 para aplicaciones Kit que admite flujos de código de autorización, PKCE, credenciales de cliente y token de actualización con preajustes de proveedores incorporados para GitHub, Google, Microsoft, Discord, Slack y GitLab.

Ver Repositorio

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir
hace 1 mesAún no revisado

kit-oauth

Biblioteca cliente OAuth 2.0 para aplicaciones Kit


[TOC]


Archivos

ArchivoDescripción
.editorconfigConfiguración de formato del editor
.gitignoreReglas de ignorado de Git para artefactos de compilación y dependencias
.tool-versionsVersiones de herramientas asdf (Zig, Kit)
LICENSEArchivo de licencia MIT
README.mdEste archivo
examples/client-credentials.kitEjemplo de credenciales de cliente (dry-run)
examples/github.kitEjemplo de código de autorización de GitHub (dry-run)
kit.tomlManifiesto del paquete con metadatos, capacidades y tareas
src/oauth.kitImplementación del cliente OAuth 2.0
tests/oauth.test.kitPruebas funcionales para los ayudantes OAuth
tests/types.test.kitPruebas de comportamiento de tipos y constantes

Dependencias

No hay dependencias de paquetes Kit.

Este paquete utiliza los módulos integrados HTTP y Time de Kit. El manifiesto del paquete solicita la capacidad net porque los ayudantes de intercambio de tokens y solicitudes autenticadas realizan llamadas HTTP.

Instalación

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 Autorización

Después de que el proveedor redirija de vuelta a tu URL de callback, valida que el state devuelto coincida con el estado que generaste, luego intercambia el código de autorización 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 Autorización con PKCE

Usa PKCE para clientes públicos como aplicaciones de escritorio, aplicaciones móviles y flujos basados en 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}"

El ayudante PKCE actual utiliza el método de desafío plain. Está estructurado para poder migrar a S256 una vez que esté disponible un ayudante SHA256 para cadenas.

Credenciales de Cliente

Usa credenciales de cliente para autenticación 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 Refresco

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

Solicitudes 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}"

Predefiniciones de Proveedores

Los ayudantes de proveedores integrados devuelven un OAuthConfig con los endpoints de autorización y token del proveedor completados:

Notas de Seguridad

  • Valida siempre el valor de state en el callback antes de intercambiar un código de autorización.
  • Usa URIs de redirección HTTPS en producción.
  • No registres tokens de acceso, tokens de refresco, códigos de autorización ni secretos de cliente.
  • Almacena los tokens de refresco en un almacenamiento seguro adecuado para tu aplicación.
  • Usa variables de entorno o un gestor de secretos para los secretos de cliente.
  • Trata los ejemplos incluidos en el repositorio como ejemplos de prueba (dry-run). Están diseñados para ser seguros en cuanto a paridad y no contactan proveedores OAuth reales.

Desarrollo

Ejecutar Ejemplos

Ejecuta los ejemplos con el intérprete:

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

Compila un ejemplo a un binario nativo:

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

Ejecutar Pruebas

Ejecuta el conjunto de pruebas:

root@kitploit:~
kit test

Ejecuta el conjunto de pruebas con cobertura:

root@kitploit:~
kit test --coverage

Ejecutar kit dev

Ejecuta el flujo de trabajo de desarrollo estándar:

root@kitploit:~
kit dev

Esto hará:

  1. Verificar formato
  2. Verificar tipos de archivos fuente en src/
  3. Verificar tipos de ejemplos en examples/
  4. Ejecutar pruebas en tests/ con cobertura

Ejecutar Paridad

Ejecuta verificaciones de paridad intérprete/compilador para los ejemplos:

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

Los ejemplos usan salida determinista y evitan llamadas de red en vivo para que la paridad pueda comparar de manera confiable la salida del intérprete y del ejecutable compilado.

Generar Documentación

Genera documentación de API a partir de comentarios de documentación:

root@kitploit:~
kit doc

Nota: Los fuentes Kit con comentarios de documentación (##) generarán documentos HTML en docs/*.html.

Limpiar Artefactos de Compilación

Elimina archivos generados, cachés, resultados de paridad, docs, archivos de bloqueo y artefactos de compilación nativos:

root@kitploit:~
kit task clean

Nota: Definido en kit.toml.

Instalación Local

Para instalar este paquete localmente para desarrollo:

root@kitploit:~
kit install

Esto instala el paquete en ~/.kit/packages/@kit/oauth/, haciéndolo disponible para importar como Kit.Oauth en otros proyectos.

Licencia

Este paquete se publica bajo la Licencia MIT - consulta LICENSE para más detalles.

Descargar herramienta
AyudanteProveedor
OAuth.githubGitHub
OAuth.googleGoogle
OAuth.microsoftMicrosoft Entra ID / Azure AD
OAuth.discordDiscord
OAuth.slackSlack
OAuth.gitlabGitLab
OAuth.customCualquier proveedor OAuth 2.0