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
المصادقة والترخيصالأدوات والمكوناتالمصادقةأمن واجهات برمجة التطبيقات
GitLabkit-lang/packages/kit-oauth

kit-oauth

مكتبة عميل OAuth 2.0 لتطبيقات Kit تدعم تدفقات رمز التفويض وPKCE وبيانات اعتماد العميل ورمز التحديث مع إعدادات مزود مدمجة لـ GitHub وGoogle وMicrosoft وDiscord وSlack وGitLab.

عرض المستودع

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة
منذ شهر واحدلم تتم المراجعة بعد

kit-oauth

مكتبة عميل OAuth 2.0 لتطبيقات Kit


[TOC]


الملفات

الملفالوصف
.editorconfigتكوين تنسيق المحرر
.gitignoreقواعد تجاهل Git للمخرجات والتبعيات
.tool-versionsإصدارات أدوات asdf (Zig, Kit)
LICENSEملف ترخيص MIT
README.mdهذا الملف
examples/client-credentials.kitمثال تجريبي لبيانات اعتماد العميل
examples/github.kitمثال تجريبي لرمز تفويض GitHub
kit.tomlملف تعريف الحزمة مع البيانات الوصفية والإمكانيات والمهام
src/oauth.kitتنفيذ عميل OAuth 2.0
tests/oauth.test.kitاختبارات وظيفية لمساعدات OAuth
tests/types.test.kitاختبارات السلوك للأنواع والثوابت

التبعيات

لا تبعيات لحزم Kit.

تستخدم هذه الحزمة الوحدات المضمنة في Kit HTTP و Time. يجب أن يطلب ملف تعريف الحزمة إمكانية net لأن تبادل الرموز ومساعدات الطلبات الموثقة تقوم باستدعاءات HTTP.

التثبيت

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

رمز التفويض

بعد أن يقوم المزود بإعادة التوجيه إلى رابط الاستدعاء الخاص بك، تحقق من أن 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. وهو مُنظم بحيث يمكن نقله إلى S256 بمجرد توفر مساعد SHA256 للنصوص.

بيانات اعتماد العميل

استخدم بيانات اعتماد العميل للمصادقة من آلة إلى آلة:

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 في الإنتاج.
  • لا تقم بتسجيل رموز الوصول أو رموز التحديث أو رموز التفويض أو أسرار العميل.
  • قم بتخزين رموز التحديث في تخزين آمن مناسب لتطبيقك.
  • استخدم متغيرات البيئة أو مدير الأسرار لأسرار العميل.
  • تعامل مع الأمثلة المرفوعة كمثال تجريبي فقط. تم تصميمها لتكون آمنة من التطابق ولا تتصل بمزودي 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 التي تحتوي على تعليقات توثيق (##) ستقوم بتوليد مستندات HTML في docs/*.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