Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
kit-oauth — Bibliothèque client OAuth 2.0 pour les applications Kit prenant en charge les flux de code d'autorisation, PKCE, d'identifiants client et de jeton d'actualisation avec des préréglages de fournisseur intégrés pour GitHub, Google, Microsoft, Discord, Slack et GitLab. | Kitploit
Outils/GitLabGitLab/kit-lang/packages/kit-oauth
Authentification et AutorisationUtilitaires et FrameworksAuthentificationSécurité des API
GitLabkit-lang/packages/kit-oauth

kit-oauth

Bibliothèque client OAuth 2.0 pour les applications Kit prenant en charge les flux de code d'autorisation, PKCE, d'identifiants client et de jeton d'actualisation avec des préréglages de fournisseur intégrés pour GitHub, Google, Microsoft, Discord, Slack et GitLab.

Voir le dépôt

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager
il y a 1 moisPas encore vérifié

kit-oauth

Bibliothèque client OAuth 2.0 pour les applications Kit


[TOC]


Fichiers

FichierDescription
.editorconfigConfiguration de formatage de l'éditeur
.gitignoreRègles Git ignore pour les artefacts de construction et les dépendances
.tool-versionsVersions d'outils asdf (Zig, Kit)
LICENSEFichier de licence MIT
README.mdCe fichier
examples/client-credentials.kitExemple d'essai à blanc pour les identifiants client
examples/github.kitExemple d'essai à blanc pour le code d'autorisation GitHub
kit.tomlManifeste du paquet avec métadonnées, capacités et tâches
src/oauth.kitImplémentation du client OAuth 2.0
tests/oauth.test.kitTests fonctionnels pour les helpers OAuth
tests/types.test.kitTests de comportement des types et constantes

Dépendances

Aucune dépendance de paquet Kit.

Ce paquet utilise les modules intégrés HTTP et Time de Kit. Le manifeste demande la capacité net car les helpers d'échange de jetons et de requêtes authentifiées effectuent des appels HTTP.

Installation

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

Utilisation

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

Code d'autorisation

Après que le fournisseur a redirigé vers votre URL de callback, validez que la valeur state retournée correspond à celle que vous avez générée, puis échangez le code d'autorisation contre des jetons :

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

Code d'autorisation avec PKCE

Utilisez PKCE pour les clients publics tels que les applications de bureau, les applications mobiles et les flux basés sur navigateur :

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

Le helper PKCE actuel utilise la méthode de défi plain. Il est structuré pour pouvoir passer à S256 dès qu'un helper SHA256 pour chaîne sera disponible.

Identifiants client

Utilisez les identifiants client pour l'authentification machine à machine :

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

Jetons d'actualisation

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

Requêtes authentifiées

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

Presets de fournisseurs

Les helpers intégrés de fournisseur retournent un OAuthConfig avec les points de terminaison d'autorisation et de jeton du fournisseur renseignés :

Notes de sécurité

  • Validez toujours la valeur state du callback avant d'échanger un code d'autorisation.
  • Utilisez des URI de redirection HTTPS en production.
  • Ne journalisez pas les jetons d'accès, les jetons d'actualisation, les codes d'autorisation ou les secrets client.
  • Stockez les jetons d'actualisation dans un stockage sécurisé adapté à votre application.
  • Utilisez des variables d'environnement ou un gestionnaire de secrets pour les secrets client.
  • Considérez les exemples inclus dans le dépôt comme des exemples d'essai à blanc. Ils sont conçus pour être sûrs en termes de parité et ne contactent pas de fournisseurs OAuth réels.

Développement

Exécution des exemples

Exécutez les exemples avec l'interpréteur :

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

Compilez un exemple en binaire natif :

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

Exécution des tests

Lancez la suite de tests :

root@kitploit:~
kit test

Lancez la suite de tests avec couverture :

root@kitploit:~
kit test --coverage

Exécution de kit dev

Lancez le workflow de développement standard :

root@kitploit:~
kit dev

Cela va :

  1. Vérifier le formatage
  2. Vérifier les types des fichiers sources dans src/
  3. Vérifier les types des exemples dans examples/
  4. Exécuter les tests dans tests/ avec couverture

Exécution de la parité

Exécutez les vérifications de parité interpréteur/compilateur pour les exemples :

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

Les exemples utilisent une sortie déterministe et évitent les appels réseau réels afin que la parité puisse comparer de manière fiable la sortie de l'interpréteur et de l'exécutable compilé.

Génération de la documentation

Générez la documentation API à partir des commentaires de documentation :

root@kitploit:~
kit doc

Remarque : Les sources Kit avec des commentaires de documentation (##) génèrent des documents HTML dans docs/*.html.

Nettoyage des artefacts de construction

Supprimez les fichiers générés, caches, résultats de parité, documentation, fichiers de verrouillage et artefacts de construction natifs :

root@kitploit:~
kit task clean

Remarque : Défini dans kit.toml.

Installation locale

Pour installer ce paquet localement pour le développement :

root@kitploit:~
kit install

Ceci installe le paquet dans ~/.kit/packages/@kit/oauth/, le rendant disponible pour importation sous le nom Kit.Oauth dans d'autres projets.

Licence

Ce paquet est distribué sous la licence MIT - voir LICENSE pour plus de détails.

Télécharger l’outil
Fonction d'aideFournisseur
OAuth.githubGitHub
OAuth.googleGoogle
OAuth.microsoftMicrosoft Entra ID / Azure AD
OAuth.discordDiscord
OAuth.slackSlack
OAuth.gitlabGitLab
OAuth.customTout fournisseur OAuth 2.0