مزود المصادقة
يسجّل المستخدمون عبر مزود المصادقة. لا يُنشأ مزود المصادقة افتراضيًا عند إنشاء المشروع. إذا كان مشروعك يتطلب تسجيل المستخدمين، فعليك إعداد مزود المصادقة بنفسك.
إنشاء مزود المصادقة
لإنشاء مزود مصادقة، انتقل إلى قسم المستخدمين، ثم افتح القسم الفرعي "Authentication Providers". في نموذج إنشاء المزود، حدد ما يلي:
- الاسم: سلسلة نصية غير فريدة، ويمكن كتابتها بأي تنسيق. يُستخدم الاسم للعمل داخل OneEntry، وبه تميّز مزودًا عن آخر، لذا اختر لمزودي المصادقة أسماء تسهّل عليك العمل معهم.
- النوع: طريقة نقل البيانات المستخدمة للتحقق من هوية المستخدم. اختره من القائمة.
- email: تصل معلومات تأكيد هوية المستخدم إلى بريده الإلكتروني الذي يُدخله عند التسجيل.
- oauth: لا يرسل OAuth رموزًا إلى بيانات اتصال المستخدم. بدلًا من ذلك، يتيح للمستخدم أن يمنح تطبيقك وصولًا محدودًا إلى بياناته في خدمة أخرى سبق أن سجّل الدخول إليها (مثل Google وApple وYandex وGitHub). مثال على عملية التحقق باستخدام Google: ينقر المستخدم على زر "تسجيل الدخول عبر Google" في موقعك. يُعاد توجيهه إلى صفحة تسجيل الدخول في Google. يُدخل المستخدم بيانات اعتماده (اسم المستخدم وكلمة المرور) في Google مباشرةً، لا في تطبيقك. هذا يرفع مستوى الأمان، لأنك لا تتعامل مع كلمة مروره. بعد تسجيل الدخول بنجاح، يسأل Google المستخدم إن كان يوافق على منح تطبيقك البيانات المطلوبة (مثل البريد الإلكتروني والاسم). إذا وافق المستخدم، يعيد Google توجيهه إلى موقعك مع رمز وصول خاص. يتحقق مشروعك من هذا الرمز، وبناءً عليه يسجّل المستخدم أو يُدخله تلقائيًا.
- الرمز: سلسلة نصية فريدة تُستخدم للوصول إلى المزود في كود تطبيقك. راعِ قواعد بناء الجملة في اللغة التي كُتب بها المشروع لتجنّب الأخطاء. على سبيل المثال، قد لا تقبل بعض اللغات الشرطة في أسماء المتغيرات، وفي هذه الحالة من الأفضل كتابة "my_provider" بدلًا من "my-provide".
بعد ملء جميع الحقول، انقر على زر "Add" لإنشاء مزود المصادقة.
إعداد مزود المصادقة
لفتح إعدادات مزود المصادقة، اختره من القائمة وانقر على أيقونة التحرير .
الإعدادات الأساسية
يتكون محرر المزود من علامتي التبويب Basic data وVersion History.
في الإعدادات يمكنك تغيير اسم المزود ورمزه. يجب إضافة نموذج تسجيل دخول إلى مزود المصادقة. إذا لم يكن لديك نموذج من نوع "Sign In and Registration"، فعليك إنشاؤه (يفتح في علامة تبويب جديدة). لكي يعمل المزود بشكل صحيح، يجب أن يحتوي النموذج على مجموعة سمات (يفتح في علامة تبويب جديدة) من نوع "User" تضم ثلاث سمات على الأقل: اسم المستخدم، وكلمة المرور، ومعلومات التحقق (البريد الإلكتروني).
حتى إذا كنت تستخدم البريد الإلكتروني كاسم مستخدم، فعليك إنشاء السمتين "login" و"email" كلتيهما.
إذا سُجّل مستخدمون عبر المزود، فلا يمكن تغيير النموذج: يكون حقل Form selection مقفلًا مع التوضيح «Form selection is disabled because there are users registered through this provider».
في الحقل الإلزامي Default User Group، اختر مجموعة المستخدمين التي ينضم إليها المستخدمون المسجلون عبر هذا المزود.
لمزود من نوع oauth، اختر الخدمة في حقل OAuth Provider. تختلف حقول الاتصال باختلاف الخدمة المختارة؛ انظر مثال الإعداد في Google.
الخطوات العامة لإنشاء نظام المصادقة والتحقق:
- أنشئ سمة من نوع "Users" تضم ثلاثة حقول على الأقل: اسم المستخدم، وكلمة المرور، ومعلومات التحقق (البريد الإلكتروني).
- عيّن الأدوار المناسبة للسمات في إعدادات السمات.
- أنشئ نموذجًا من نوع "Sign In and Registration" وحدد فيه مجموعة السمات التي أنشأتها.
- أنشئ مزود مصادقة وحدد فيه النموذج الذي أنشأته.
الإعدادات الإضافية
يضم قسم الإعدادات الإضافية إعدادات تفعيل المستخدمين والرموز.
تفعيل المستخدم مرحلة إضافية من التسجيل. إذا لم يكن إعداد تفعيل المستخدمين مُفعّلًا، فسيُفعَّل كل مستخدم مسجل تلقائيًا.
لا يمكن إلا للمستخدم المُفعّل استخدام وظائف النظام التي تتطلب تسجيل الدخول، مثل إنشاء طلب أو الاشتراك في الأحداث.
إذا حددت خانة "Activate new users via code"، فلن يُفعَّل المستخدمون تلقائيًا. بدلًا من ذلك، يُرسَل إلى المستخدم رمز بالطريقة المحددة في المزود، مثل البريد الإلكتروني. ولا يُفعَّل هذا المستخدم إلا بعد أن يؤكد بريده الإلكتروني بإدخال الرمز.
بعد أن يُدخل المستخدم بياناته ويرسل طلب التسجيل، يظهر في القائمة العامة للمستخدمين حتى لو لم يكن مُفعّلًا. يحدد إعداد "Number of days after which inactive users will be deleted" المدة التي يبقى فيها المستخدم في هذه القائمة إذا لم يؤكد بريده الإلكتروني لأي سبب.
يضم قسم الإعدادات الإضافية أيضًا إعدادات رموز JWT.
- الكلمة السرية لتوليد رمز JWT: الكلمة التي تُستخدم مفتاحًا لتشفير الرمز. الكلمة الفريدة توفر أمانًا أكبر.
- مدة صلاحية رمز التفويض (بالثواني): المدة التي يجتاز فيها الرمز التحقق من الصلاحية. كلما قصرت المدة، زاد أمان اتصال المستخدم، لكن المدة القصيرة جدًا تزيد عدد طلبات المستخدم إلى مشروعك، مما يؤثر سلبًا على الأداء.
- مدة صلاحية رمز التحديث (بالثواني) (Refresh token life time): مدة صلاحية رمز التحديث الذي يستخدمه التطبيق للحصول على رمز تفويض جديد دون أن يسجل المستخدم دخوله مجددًا.
- مدة صلاحية رمز النظام (بالثواني): بعد انقضاء هذه المدة من إرسال الرمز إلى المستخدم (مثلًا إلى بريده الإلكتروني)، يمكن للمستخدم إرسال الرمز مرة أخرى.
- طول رمز النظام: عدد الأحرف في رمز النظام المرسل إلى المستخدم.
- رمز النظام يتكون من أرقام فقط: عند تحديد هذه الخانة، يتلقى المستخدم رمزًا من أرقام فقط. هذا يقلل من موثوقية التفويض، لكنه قد يكون مفيدًا إذا لم يكن لدى المستخدم مثلًا وصول إلى لوحة مفاتيح بأحرف لاتينية.
حذف مزود المصادقة
يمكنك حذف المزود من القسم Authentication Providers في قائمة المستخدمين.
اختر من القائمة المزود الذي تريد حذفه وانقر على أيقونة الحذف .
إذا كان أحد المستخدمين يستخدم المزود، فلا يمكن حذفه: لا تظهر أيقونة الحذف لهذا المزود في القائمة.