Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
kit-oauth — OAuth 2.0クライアントライブラリ(Kitアプリケーション向け)。認可コード、PKCE、クライアントクレデンシャル、リフレッシュトークンフローをサポートし、GitHub、Google、Microsoft、Discord、Slack、GitLab向けの組み込みプロバイダープリセットを備えています。 | Kitploit
ツール/GitLabGitLab/kit-lang/packages/kit-oauth
認証と認可ユーティリティとフレームワーク認証APIセキュリティ
GitLabkit-lang/packages/kit-oauth

kit-oauth

OAuth 2.0クライアントライブラリ(Kitアプリケーション向け)。認可コード、PKCE、クライアントクレデンシャル、リフレッシュトークンフローをサポートし、GitHub、Google、Microsoft、Discord、Slack、GitLab向けの組み込みプロバイダープリセットを備えています。

リポジトリを見る

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有
1ヶ月前未レビュー

kit-oauth

KitアプリケーションのためのOAuth 2.0クライアントライブラリ


[TOC]


ファイル

ファイル説明
.editorconfigエディタの書式設定
.gitignoreビルド成果物と依存関係のGit無視ルール
.tool-versionsasdfツールバージョン (Zig, Kit)
LICENSEMITライセンスファイル
README.mdこのファイル
examples/client-credentials.kitドライランのクライアントクレデンシャル例
examples/github.kitドライランのGitHub認可コード例
kit.tomlメタデータ、機能、タスクを備えたパッケージマニフェスト
src/oauth.kitOAuth 2.0クライアントの実装
tests/oauth.test.kitOAuthヘルパーの機能テスト
tests/types.test.kit型と定数の動作テスト

依存関係

Kitパッケージの依存関係はありません。

このパッケージはKitに組み込みの HTTP モジュールと Time モジュールを使用します。パッケージマニフェストはトークン交換と認証リクエストヘルパーがHTTP呼び出しを行うため、net 機能を要求します。

インストール

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

使用方法

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

認可コード

プロバイダがコールバックURLにリダイレクトした後、返された state が生成したものと一致することを検証し、認可コードをトークンと交換します。

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

PKCEを使用した認可コード

デスクトップアプリ、モバイルアプリ、ブラウザベースのフローなどのパブリッククライアントにはPKCEを使用します:

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

現在のPKCEヘルパーは plain チャレンジ方式を使用しています。文字列SHA256ヘルパーが利用可能になったら S256 に移行できるように構造化されています。

クライアントクレデンシャル

マシン間認証にはクライアントクレデンシャルを使用します:

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

リフレッシュトークン

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

認証済みリクエスト

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

プロバイダプリセット

組み込みのプロバイダヘルパーは、プロバイダの認可エンドポイントとトークンエンドポイントが入力された OAuthConfig を返します:

セキュリティに関する注意事項

  • 認可コードを交換する前に、常にコールバックの state 値を検証してください。
  • 本番環境ではHTTPSリダイレクトURIを使用してください。
  • アクセストークン、リフレッシュトークン、認可コード、クライアントシークレットをログに記録しないでください。
  • アプリケーションに適した安全なストレージにリフレッシュトークンを保存してください。
  • クライアントシークレットには環境変数またはシークレットマネージャーを使用してください。
  • チェックインされた例はドライラン例として扱ってください。これらはパリティセーフになるように設計されており、実際のOAuthプロバイダに接続しません。

開発

サンプルの実行

インタプリタでサンプルを実行:

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

サンプルをネイティブバイナリにコンパイル:

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

テストの実行

テストスイートを実行:

root@kitploit:~
kit test

カバレッジ付きでテストスイートを実行:

root@kitploit:~
kit test --coverage

kit devの実行

標準の開発ワークフローを実行:

root@kitploit:~
kit dev

これにより以下の処理が行われます:

  1. 書式のチェック
  2. src/ のソースファイルの型チェック
  3. examples/ のサンプルの型チェック
  4. カバレッジ付きで tests/ のテストを実行

パリティの実行

サンプルに対してインタプリタ/コンパイラのパリティチェックを実行します:

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

サンプルは決定論的な出力を使用し、実際のネットワーク呼び出しを避けるため、パリティはインタプリタとコンパイル済み実行可能ファイルの出力を確実に比較できます。

ドキュメントの生成

ドキュメントコメントからAPIドキュメントを生成します:

root@kitploit:~
kit doc

注意: ドキュメントコメント (##) を含むKitソースは、docs/*.html にHTMLドキュメントを生成します。

ビルド成果物のクリーンアップ

生成されたファイル、キャッシュ、パリティ結果、ドキュメント、ロックファイル、ネイティブビルド成果物を削除します:

root@kitploit:~
kit task clean

注意: kit.toml で定義されています。

ローカルインストール

このパッケージを開発用にローカルにインストールするには:

root@kitploit:~
kit install

これによりパッケージは ~/.kit/packages/@kit/oauth/ にインストールされ、他のプロジェクトで Kit.Oauth としてインポート可能になります。

ライセンス

このパッケージはMITライセンスの下でリリースされています - 詳細は LICENSE を参照してください。

ツールをダウンロード
ヘルパープロバイダ
OAuth.githubGitHub
OAuth.googleGoogle
OAuth.microsoftMicrosoft Entra ID / Azure AD
OAuth.discordDiscord
OAuth.slackSlack
OAuth.gitlabGitLab
OAuth.custom任意のOAuth 2.0プロバイダ