Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
Tools/GitLabGitLab/kit-lang/packages/kit-oauth
Authentifizierung & AutorisierungDienstprogramme & FrameworksAuthentifizierungAPI-Sicherheit
GitLabkit-lang/packages/kit-oauth

kit-oauth

OAuth 2.0-Clientbibliothek für Kit-Anwendungen, die Autorisierungscode-, PKCE-, Client-Anmeldeinformationen- und Aktualisierungstoken-Flows unterstützt, mit integrierten Provider-Voreinstellungen für GitHub, Google, Microsoft, Discord, Slack und GitLab.

Repository anzeigen
vor 1 MonatNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

kit-oauth

OAuth 2.0-Clientbibliothek für Kit-Anwendungen


[TOC]


Dateien

DateiBeschreibung
.editorconfigEditor-Formatierungskonfiguration
.gitignoreGit-Ignore-Regeln für Build-Artefakte und Abhängigkeiten
.tool-versionsasdf-Tool-Versionen (Zig, Kit)
LICENSEMIT-Lizenzdatei
README.mdDiese Datei
examples/client-credentials.kitTrockentest-Beispiel für Client Credentials
examples/github.kitTrockentest-Beispiel für GitHub-Autorisierungscode
kit.tomlPaketmanifest mit Metadaten, Fähigkeiten und Aufgaben
src/oauth.kitOAuth 2.0-Client-Implementierung
tests/oauth.test.kitFunktionale Tests für OAuth-Helfer
tests/types.test.kitTests für Typ- und Konstantenverhalten

Abhängigkeiten

Keine Kit-Paketabhängigkeiten.

Dieses Paket verwendet die integrierten HTTP- und Time-Module von Kit. Das Paketmanifest fordert die net-Fähigkeit an, da die Helfer für Tokenaustausch und authentifizierte Anfragen HTTP-Aufrufe durchführen.

Installation

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

Verwendung

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

Autorisierungscode

Nachdem der Anbieter zurück zu Ihrer Callback-URL weitergeleitet hat, überprüfen Sie, ob der zurückgegebene state mit dem von Ihnen generierten State übereinstimmt, und tauschen Sie dann den Autorisierungscode gegen Tokens ein:

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

Autorisierungscode mit PKCE

Verwenden Sie PKCE für öffentliche Clients wie Desktop-Apps, mobile Apps und browserbasierte Abläufe:

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

Der aktuelle PKCE-Helfer verwendet die plain-Challenge-Methode. Er ist so strukturiert, dass er auf S256 umgestellt werden kann, sobald ein String-SHA256-Helfer verfügbar ist.

Client Credentials

Verwenden Sie Client Credentials für die Maschine-zu-Maschine-Authentifizierung:

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

Refresh Tokens

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

Authentifizierte Anfragen

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

Anbieter-Voreinstellungen

Die integrierten Anbieter-Helfer geben ein OAuthConfig mit den ausgefüllten Autorisierungs- und Token-Endpunkten des Anbieters zurück:

HelferAnbieter
OAuth.githubGitHub
OAuth.googleGoogle
OAuth.microsoftMicrosoft Entra ID / Azure AD
OAuth.discordDiscord
OAuth.slackSlack
OAuth.gitlabGitLab
OAuth.customJeder OAuth 2.0-Anbieter

Sicherheitshinweise

  • Überprüfen Sie immer den state-Wert des Callbacks, bevor Sie einen Autorisierungscode austauschen.
  • Verwenden Sie HTTPS-Weiterleitungs-URIs in der Produktion.
  • Protokollieren Sie keine Zugriffstokens, Aktualisierungstokens, Autorisierungscodes oder Client-Geheimnisse.
  • Speichern Sie Aktualisierungstokens in einem sicheren Speicher, der für Ihre Anwendung geeignet ist.
  • Verwenden Sie Umgebungsvariablen oder einen Secret Manager für Client-Geheimnisse.
  • Behandeln Sie die eingecheckten Beispiele als Trockentest-Beispiele. Sie sind so konzipiert, dass sie Parity-sicher sind und keine Live-OAuth-Anbieter kontaktieren.

Entwicklung

Beispiele ausführen

Beispiele mit dem Interpreter ausführen:

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

Ein Beispiel in eine native Binärdatei kompilieren:

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

Tests ausführen

Testsuite ausführen:

root@kitploit:~
kit test

Testsuite mit Abdeckung ausführen:

root@kitploit:~
kit test --coverage

kit dev ausführen

Standard-Entwicklungsworkflow ausführen:

root@kitploit:~
kit dev

Dies wird:

  1. Formatierung überprüfen
  2. Typen der Quelldateien in src/ prüfen
  3. Typen der Beispiele in examples/ prüfen
  4. Tests in tests/ mit Abdeckung ausführen

Parity-Ausführung

Parity-Checks zwischen Interpreter und Compiler für die Beispiele ausführen:

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

Die Beispiele verwenden deterministische Ausgaben und vermeiden Live-Netzwerkaufrufe, sodass Parity die Ausgaben von Interpreter und kompilierter ausführbarer Datei zuverlässig vergleichen kann.

Dokumentation generieren

API-Dokumentation aus Doc-Kommentaren generieren:

root@kitploit:~
kit doc

Hinweis: Kit-Quellen mit Doc-Kommentaren (##) generieren HTML-Dokumente in docs/*.html.

Build-Artefakte bereinigen

Generierte Dateien, Caches, Parity-Ergebnisse, Docs, Lock-Dateien und native Build-Artefakte entfernen:

root@kitploit:~
kit task clean

Hinweis: Definiert in kit.toml.

Lokale Installation

Um dieses Paket lokal für die Entwicklung zu installieren:

root@kitploit:~
kit install

Dies installiert das Paket nach ~/.kit/packages/@kit/oauth/ und macht es in anderen Projekten als Kit.Oauth importierbar.

Lizenz

Dieses Paket wird unter der MIT-Lizenz veröffentlicht – siehe LICENSE für Details.

Tool herunterladen