شكرا جزيلا لجميع المساهمين الأفراد
* يستخدم أحد مشاريع أوري الرئيسية في الإنتاج.
توجه إلى الوثائق للتعرف على طرق تثبيت Ory Keto.
نحن نبني أوري على عدة مبادئ توجيهية عندما يتعلق الأمر بتصميم الهندسة المعمارية لدينا:
تم تصميم بنية ORY لتشغيل أفضل على نظام تزامن الحاويات مثل Kubernetes و CloudFoundry و OpenShift ومشاريع مماثلة. الثنائيات صغيرة (5-15 ميجابايت) ومتاحة لجميع أنواع المعالجات الشائعة (ARM ، AMD64 ، I386) وأنظمة التشغيل (FreeBSD ، Linux ، MacOS ، Windows) بدون تبعيات النظام (Java ، Node ، Ruby ، Libxml ، ...).
ORY KRATOS هو نظام هوية و API-First وإدارة المستخدم الذي تم تصميمه وفقًا لأفضل ممارسات Architecture Cloud. إنه ينفذ حالات الاستخدام الأساسية التي يحتاجها كل تطبيق تقريبًا إلى التعامل معها: تسجيل الدخول إلى الخدمة الذاتية وتسجيلها ، ومصادقة متعددة العوامل (MFA/2FA) ، واستعادة الحساب والتحقق ، والملف الشخصي ، وإدارة الحساب.
Ory Hydra هو موفر OpenID Certified ™ OAUTH2 ومقدم OpenID Connect الذي يتصل بسهولة بأي نظام هوية موجود عن طريق كتابة تطبيق "جسر" صغير. إنه يعطي تحكمًا مطلقًا على واجهة المستخدم وتدفقات تجربة المستخدم.
ORY OATHKEPER هو وكيل ما وراء CORP/Zero Trust Identity & Access (IAP) مع مصادقة قابلة للتكوين ، والترخيص ، وطلب قواعد الطفرة لخدمات الويب الخاصة بك: مصادقة JWT ، و ACCENT OKENS ، و API KEYS ، و MTLS ؛ تحقق مما إذا كان الموضوع المحترم مسموحًا بتنفيذ الطلب ؛ تشفير المحتوى الناتج إلى رؤوس مخصصة ( X-User-ID ) ، ورموز الويب JSON والمزيد!
Ory Keto هي نقطة قرار السياسة. ويستخدم مجموعة من سياسات التحكم في الوصول ، على غرار سياسات AWS IAM ، من أجل تحديد ما إذا كان موضوع (المستخدم ، التطبيق ، الخدمة ، السيارة ، ...) مخول لأداء إجراء معين على مورد.
إذا كنت تعتقد أنك وجدت ثغرة أمنية ، فيرجى الامتناع عن نشرها علنًا على المنتديات أو الدردشة أو github. يمكنك العثور على جميع المعلومات عن الكشف المسؤول في security.txt لدينا.
تقوم خدماتنا بجمع بيانات ملخصة ومجهولة يمكن إيقاف تشغيلها اختياريًا. انقر هنا لمعرفة المزيد.
الدليل متاح هنا.
تم توثيق API HTTP هنا.
قد تقدم الإصدارات الجديدة تغييرات كسر. لمساعدتك في تحديد هذه التغييرات ودمجها ، نقوم بتوثيق هذه التغييرات في الترقية. md و changelog.md.
قم بتشغيل keto help keto -h أو Keto.
نحن نشجع جميع المساهمات ونوصي بقراءة إرشادات المساهمة الخاصة بنا.
تحتاج إلى GO 1.19+ و (لأجنحة الاختبار):
من الممكن تطوير Ory Keto على Windows ، ولكن يرجى العلم أن جميع الأدلة تفترض قشرة Unix مثل Bash أو Zsh.
اجعل التثبيت
يمكنك تنسيق كل التعليمات البرمجية باستخدام make format . يتحقق CI الخاص بنا إذا تم تنسيق الكود الخاص بك بشكل صحيح.
هناك نوعان من الاختبارات التي يمكنك تشغيلها:
اختبارات قصيرة تعمل بسرعة إلى حد ما. يمكنك إما اختبار جميع الكود في وقت واحد:
go test -short -tags sqlite ./...أو اختبار فقط وحدة محددة:
go test -tags sqlite -short ./internal/check/...تتطلب الاختبارات العادية إعداد قاعدة بيانات. إن مجموعة الاختبار الخاصة بنا قادر على العمل مع Docker مباشرة (باستخدام Ory/DockerTest) ولكننا نشجع على استخدام البرنامج النصي بدلاً من ذلك. يمكن أن يؤدي استخدام Dockertest إلى زيادة عدد صور Docker على نظامك وبدء تشغيلها في كل تشغيل بطيء جدًا. بدلاً من ذلك نوصي بالقيام:
source ./scripts/test-resetdb.sh
go test -tags sqlite ./... اختبارات E2E هي جزء من go test العادي. لتشغيل اختبار E2E فقط ، استخدم:
source ./scripts/test-resetdb.sh
go test -tags sqlite ./internal/e2e/... أو أضف علامة -short للاختبار فقط مقابل SQLite في الذاكرة.
يمكنك بناء صورة Decker Development باستخدام:
جعل Docker