الوصول
عادةً ما يتم الوصول إلى التطبيق عبر أحد مسارين:
١. يطلب المستخدمون الوصول إلى التطبيق من خلال الرابط sign up (/auth/signup)
٢. يتم دعوة المستخدمين إلى التطبيق من قِبل أحد المسؤولين
نظرًا لوجود مسارين محتملين، من الممكن أن يتم تقديم طلب في حين أن الحساب موجود بالفعل. وهذا الأمر غير ضار ويمكن إزالة الفوضى الناتجة عنه بسهولة عن طريق حذف الطلبات الزائدة.
طلب الوصول
عندما يزور المستخدمون تطبيقك، يتوفر لهم خيار التسجيل من خلال رابط تسجيل الدخول. التسجيل
سيؤدي ملء النموذج القصير إلى إنشاء الطلب الذي يمكن لأي شخص لديه CreateUser أو DeleteUser في admin/access-requests التعامل معه. طلبات الوصول الإدارية هناك بعض الجوانب الجديرة بالملاحظة هنا:
- يتم قبول الطلبات الواردة من النطاقات المسموح بها فقط (انظر المصادقة، النطاقات المسموح بها). يتم رفض طلب الزائر القادم من نطاق خارج القائمة عند الإرسال مع رسالة واضحة مفادها "نطاق البريد الإلكتروني هذا غير معتمد — يُرجى التواصل مع المسؤول"؛ ولا يتم إنشاء أي طلب.
- يتلقى مقدم الطلب بريدًا إلكترونيًا للتأكيد ("لقد استلمنا طلبك") فورًا، ويتم إخطار المسؤولين الذين يملكون الحق
CreateUserعبر البريد الإلكتروني بوجود طلب في انتظار المعالجة (وهذا هو إدخال طلب وصول جديد في تفضيلات الاتصالات بالملف الشخصي لكل مسؤول — مفعّل افتراضيًا، ويمكن لكل مسؤول إلغاء الاشتراك فيه). - يمكن تقديم طلب واحد فقط لكل عنوان بريد إلكتروني
- يتم استبدال رسالة مقدم الطلب عند إعادة الإرسال
- يتم حذف الطلبات المرفوضة أيضًا، ولا يتم إخطار مقدم الطلب — فالصمت عند الرفض أمر مقصود. يلزم حق المسؤول
viewDeletedلعرض الطلبات المحذوفة. يتطلب إلغاء حذف طلب حق المسؤولcreateAccessRequest - تؤدي الموافقة على الطلب إلى إنشاء الحساب وإرسال رسالة الدعوة عبر البريد الإلكتروني. تحتوي الرسالة على رابط آمن يقوم المستخدم من خلاله بتعيين كلمة المرور الخاصة به؛ وبمجرد تعيينها، يتم التحقق من صحة عنوان بريده الإلكتروني ويصبح بإمكانه تسجيل الدخول. إذا كان هناك حساب موجود بالفعل لهذا العنوان، فإن الموافقة تحوّله إلى حالة الموافقة وترسل رسالة "تمت الموافقة على الحساب" بدلاً من ذلك. ويعرض إشعار النتيجة بدقة ما حدث لكل طلب: تم الإنشاء وإرسال الدعوة، أو تمت الموافقة على حساب موجود، أو تم الحظر (النطاق غير مسموح به)، أو فشل.
- للسماح بتسجيل الدخول الأحادي (SSO)، يجب أن يكون المستخدم موجودًا. يتم إرفاق تفاصيل SSO بملف تعريف المستخدم، ولكن يتم إخفاء جميع التفاصيل باستثناء التحقق من أن المستخدم قادر على استخدامها. بمجرد تسجيل دخول المستخدم، يجب أن يكون قادرًا على تشغيل تدفق SSO المرتبط بالحساب. تتم إدارة الأذونات داخل التطبيق بدلاً من خلال مزودي OAuth الخارجيين.
منح الوصول
يمكن للمستخدمين الذين يتمتعون بحق المسؤول CreateUser إنشاء حسابات مباشرةً من خلال قائمة "المسؤول > المستخدم". بالنسبة للعمليات الجماعية، يتوفر نموذج .csv في الجزء العلوي الأيمن إنشاء مستخدمين.
يبدأ الحساب المُنشأ مباشرةً بدون كلمة مرور قابلة للاستخدام وببريد إلكتروني غير مُتحقق منه. لإدخال الشخص إلى النظام، استخدم الإجراء إرسال دعوة في صفّه ضمن المسؤول → المستخدمون — فهو يرسل إليه بريدًا إلكترونيًا يحتوي على رابط آمن يقوم من خلاله بتعيين كلمة المرور الخاصة به والتحقق من صحة عنوانه في خطوة واحدة. هذا الإجراء متاح فقط ما دام البريد الإلكتروني للحساب غير مُتحقق منه؛ وإذا وصلت رسالة الدعوة إلى البريد العشوائي أو تم حذفها، فقم بتشغيل إرسال دعوة مرة أخرى لإصدار رابط جديد. وبمجرد التحقق من صحة الحساب، يتم تعطيل إرسال دعوة — ومن تلك اللحظة يستخدم الشخص تدفق نسيت كلمة المرور المعتاد.
على الرغم من أنه من الممكن إنشاء حساب خارج النطاقات المسموح بها، إلا أن رسائل الدعوة والإشعارات الموجهة إلى ذلك العنوان سيتم حظرها بواسطة قائمة النطاقات المسموح بها — أضف النطاق أولاً.
SSO
في الإعدادات الافتراضية، سيحتاج المستخدمون إلى إنشاء حساب. عند العودة إلى صفحة تسجيل الدخول، سيظهر لهم رسالة لإضافة SSO. (يجب تفعيل هذا الخيار من قبل المسؤول أولاً. انظر المصادقة، تخصيص إعدادات المسؤول.) سيؤدي تسجيل الدخول للمرة الثانية عبر SSO إلى ربط إعدادات SSO تلقائيًا بحساب المستخدم.
بدلاً من ذلك، إذا كان Allow Registration نشطًا في إعدادات التطبيق، يمكن للمستخدمين التسجيل باستخدام SSO مباشرةً. يؤدي هذا إلى إنشاء الحساب وطلب وصول في خطوة واحدة — وبعدها يرى الشخص إشعار "الحساب في انتظار موافقة المسؤول" على صفحة تسجيل الدخول حتى يوافق أحد المسؤولين على الطلب (يتم إخطار المسؤولين الذين يملكون الحق CreateUser عبر البريد الإلكتروني عند وصوله). كما يحمل الحساب كلمة مرور آمنة عشوائية يمكن إعادة تعيينها واستخدامها بشرط أن يكون خيار تسجيل الدخول عبر username/password نشطًا.
يمكن إزالة إعدادات SSO من ملف تعريف المستخدم بواسطة أي مستخدم لديه حق المسؤول UserUpdate من صفحة './admin/users'.