عن المشروع

هانكو هو حل مفتوح المصدر للمصادقة وإدارة المستخدمين، مصمم ليكون سهل التكامل، ومستقلًا عن أي إطار عمل، ومبنيًا على مبادئ تركز على الخصوصية مثل تقليل البيانات إلى الحد الأدنى ومقاومة التصيد الاحتيالي. يضع المشروع نفسه كبديل مفتوح المصدر لخدمات الهوية المستضافة مثل Auth0 وClerk وWorkOS وStytch. طرق المصادقة والميزات وفقًا لملف README، يدعم هانكو معرفات البريد الإلكتروني واسم المستخدم، وكلمات المرور، ورموز المرور، ومفاتيح المرور، وتسجيل الدخول الاجتماعي عبر OAuth (Apple وGoogle وGitHub وغيرها)، والدخول الموحد للمؤسسات عبر SAML، واتصالات OIDC/OAuth المخصصة، والمصادقة متعددة العوامل عبر TOTP ومفاتيح الأمان، وجلسات من جانب الخادم مع إبطال الجلسات عن بُعد، وخطافات الويب (Webhooks)، والتدويل مع ترجمات مخصصة. التكوين مرن، بما في ذلك الإعدادات التي تعتمد على مفاتيح المرور فقط أو OAuth فقط، وكلمات المرور القابلة للحذف من قبل المستخدم. المؤسسات والأدوار والأذونات مدرجة كأعمال قيد التقدم، إلى جانب مكوّن ويب hanko-menu وحزم SDK للأجهزة المحمولة/الأصلية لنظامي iOS وAndroid وReact Native وFlutter. البنية المعمارية يتم تنظيم المستودع حول ثلاثة مكونات رئيسية. يُوصف الواجهة الخلفية بأنها واجهة برمجة تطبيقات مصادقة قابلة للتطوير وخفيفة الوزن تتعامل مع كلمات المرور، ومفاتيح المرور، ورموز مرور البريد الإلكتروني، والدخول الموحد عبر OAuth، وإدارة المستخدمين والجلسات، وإصدار JWT. هانكو إليمنتس (Hanko Elements) هي مكونات ويب مبنية لتلك الواجهة البرمجية، وتوفر وظائف الإعداد والتسجيل وملف تعريف المستخدم التي يمكن تخصيصها باستخدام CSS. حزمة hanko-frontend-sdk هي حزمة عميل لواجهة برمجة تطبيقات هانكو وتشكل أساس مكونات الويب. يحتوي المستودع أيضًا على تطبيق مرجعي للبدء السريع، وأمثلة تنفيذية لأطر العمل، ووثائق (تم نقلها الآن إلى مستودع منفصل). البدء يمكن للمستخدمين تجربة مثال مباشر مستضاف والموقع المصاحب passkeys.io، أو تشغيل تطبيق البدء السريع محليًا. هناك خياران محليان موثقان: إعداد مباشر باستخدام الواجهة الخلفية مباشرة، أو عبر Docker باستخدام إعداد Docker Compose الخاص بالبدء السريع، والذي يشغل مكونات الواجهة الأمامية والخلفية معًا. يمكن تقليص ملف compose لتشغيل خدمات الواجهة الخلفية فقط، ويتم ضبط التكوين من خلال config.yaml. بالنسبة للواجهات الأمامية المخصصة، يمكن استخدام حزمة SDK الأمامية مباشرة ضد واجهة برمجة تطبيقات الواجهة الخلفية. المجتمع والترخيص تتم معالجة الأسئلة وتقارير الأخطاء وطلبات الميزات من خلال مناقشات GitHub وقضاياه، مع مجتمع Discord وحساب X للتحديثات. الترخيص مقسم: hanko-elements وhanko-frontend-sdk مرخصان بموجب MIT، بينما باقي المستودع، بما في ذلك الواجهة الخلفية، مرخص بموجب AGPL-3.0، مع توفر ترخيص تجاري غير ملزم بالكوبيليفت عند الطلب.