انتقل إلى المحتوى الرئيسي

المقدمة

تسهيل عملية تسجيل دخول المستخدمين وتسجيلهم.

مزيد من المعلومات حول واجهة مستخدم الوحدة https://doc.oneentry.cloud/docs/users/auth_provider


🎯 ماذا تفعل هذه الوحدة؟

تتعامل وحدة AuthProvider مع كل ما يتعلق بمصادقة المستخدمين - تسجيل الدخول، التسجيل، إدارة كلمات المرور، والبقاء متصلاً بأمان.

فكر فيها كحارس أمان لتطبيقك - تتحقق من هوية الأشخاص، وتسمح للمستخدمين المصرح لهم بالدخول، وتبقي الأشخاص غير المرغوب فيهم خارجاً.

📖 شرح بسيط

عندما يرغب المستخدمون في:

  • 👤 تسجيل المستخدم - إنشاء حسابات مستخدم جديدة
  • 🔐 المصادقة - إدارة تسجيل الدخول والجلسات
  • 🔑 تغيير كلمة المرور
  • 🚪 تسجيل الخروج بأمان
  • ✉️ تحقق من البريد الإلكتروني باستخدام رموز التفعيل
  • 🔒 الأمان - تشفير كلمات المرور، إدارة الرموز

...تقوم هذه الوحدة بكل العمل الشاق!

المشكلة في بناء إدارة مصادقة المستخدمين من الصفر:

❌ لا يوجد تشفير لكلمات المرور
❌ لا يوجد تحقق
❌ لا يوجد فحص للتكرار
❌ لا يوجد تحقق من البريد الإلكتروني
❌ مقارنة كلمات المرور غير آمنة
❌ لا يوجد إدارة للجلسات
❌ لا يوجد تحديد لمعدل الاستخدام

المشكلات:

  • 🔒 غير آمن - لا يوجد تشفير لكلمات المرور، عرضة للهجمات
  • 📋 لا يوجد تحقق - يمكن تخزين بيانات سيئة
  • 🔄 لا يوجد مصادقة - لا توجد جلسات أو رموز
  • 💾 لا يوجد استمرارية - فقدان البيانات عند إعادة التشغيل

حل AuthProvider:

✅ جيد - إدارة مصادقة آمنة

تقوم OneEntry تلقائيًا بـ:

  • تشفير كلمة المرور بأمان
  • التحقق من تنسيق البريد الإلكتروني
  • فحص التكرارات
  • تخزين بيانات المستخدم بشكل دائم
  • توفير رموز المصادقة

كيف تعمل:

User signs up → AuthProvider creates account → Sends activation code via email ✅
User logs in → AuthProvider verifies credentials → Returns access tokens ✅

✨ الميزات الرئيسية

الميزةماذا تفعلمثال على الاستخدام
🔐 تسجيل المستخدمإنشاء حسابات مستخدم جديدةنموذج التسجيل
🚪 تسجيل الدخول/تسجيل الخروجمصادقة المستخدمينصفحة تسجيل الدخول
🔑 إدارة كلمات المرورتغيير وإعادة تعيين كلمات المرورتدفق نسيت كلمة المرور
🎫 إدارة الرموزإبقاء المستخدمين متصلين بأمانتحديث الجلسات تلقائيًا
✉️ تحقق من البريد الإلكترونيإرسال رموز التفعيلتحقق من البريد الإلكتروني بعد التسجيل
🌍 دعم متعدد اللغاتدعم لغات مختلفةتطبيقات دولية

يدعم النظام مزودي مصادقة مستخدمين متعددين: تسجيل الدخول + كلمة المرور وOAuth.

مثال على تدفق المصادقة مع تحقق البريد الإلكتروني

1. User enters email + password

2. auth() called

3. OneEntry verifies credentials
(Compares hashed passwords)

4. Returns authentication token
(JWT or session token)

5. Token stored client-side
(localStorage, cookie, memory)

6. Token sent with requests
(Authorization header)

7. Token validated by server
(Checks expiration, signature)

📋 ما تحتاج لمعرفته

مزودو المصادقة

تدعم OneEntry طرقًا مختلفة للمصادقة:

  • البريد الإلكتروني (الأكثر شيوعًا) - البريد الإلكتروني/كلمة المرور التقليدية
  • الهاتف (SMS) - المصادقة عبر رقم الهاتف
  • اجتماعي (OAuth) - Google، Facebook، إلخ.

كل مزود له علامة (مثل email لمزود البريد الإلكتروني).

شرح الرموز ببساطة

عندما يقوم المستخدم بتسجيل الدخول، يحصل على رمزين:

  • رمز الوصول 🎫 - مثل تذكرة السينما (تنتهي بسرعة)، يتم تكوينه في لوحة الإدارة

    • يستخدم لطلبات API
    • قصير العمر لأغراض الأمان
  • رمز التحديث 🔄 - مثل بطاقة الموسم (تدوم لفترة أطول)

    • يستخدم للحصول على رموز وصول جديدة
    • يبقى صالحًا لعدة أيام/أسابيع

لماذا رمزان؟ الأمان! إذا سرق شخص ما رمز الوصول، فإنه ينتهي قريبًا.

حقول النموذج

عند تسجيل أو تحديث المستخدمين، ترسل بيانات النموذج مع:

  • marker - اسم الحقل (مثل "البريد الإلكتروني"، "كلمة المرور"، "الاسم الأول")
  • type - نوع البيانات (مثل "سلسلة"، "رقم"، "صورة")
  • value - القيمة الفعلية

📊 جدول مرجعي سريع - الطرق الشائعة

الطريقةماذا تفعل
auth()يسمح لك بمصادقة المستخدمين.
changePassword()تغيير كلمة مرور المستخدم.
checkCode()التحقق من رمز تفعيل المستخدم.
generateCode()الحصول على الرمز لتفعيل المستخدم.
getActiveSessionsByMarker()الحصول على بيانات جلسات المستخدم النشطة.
getAuthProviderByMarker()الحصول على كائن مزود المصادقة بواسطة العلامة.
getAuthProviders()الحصول على جميع كائنات مزودي المصادقة.
logout()تسجيل خروج حساب المستخدم.
logoutAll()تسجيل خروج حساب المستخدم على جميع الأجهزة.
oauth()تسجيل المستخدم (التفويض) عبر OAUTH.
refresh()تحديث رموز المستخدم.
signUp()تسجيل المستخدم.

❓ الأسئلة الشائعة (FAQ)

هل أحتاج إلى إدارة الرموز يدويًا؟

لا! تتولى SDK إدارة الرموز تلقائيًا. فقط استدعِ الطرق وسيتولى SDK:

  • تخزين الرموز
  • تحديث الرموز المنتهية
  • إرسال الرموز مع طلبات API

كيف يمكنني إبقاء المستخدمين متصلين بعد تحديث الصفحة؟

قم بتكوين SDK باستخدام saveFunction:

const { AuthProvider } = defineOneEntry("your-url", {
token: "your-token",
auth: {
refreshToken: localStorage.getItem('refreshToken'),
saveFunction: (token) => localStorage.setItem('refreshToken', token)
}
});

ما الفرق بين تسجيل الدخول والبريد الإلكتروني؟

  • login - يمكن أن يكون البريد الإلكتروني أو اسم المستخدم (أيًا كان ما يقبله مزود المصادقة الخاص بك)
  • email - دائمًا عنوان بريد إلكتروني

هل يمكنني استخدام تسجيل الدخول الاجتماعي (Google، Facebook)؟

نعم! قم بإعداد مزودي OAuth في لوحة إدارة OneEntry، ثم استخدم طريقة oauthSignUp().


كيف أتعامل مع الأخطاء؟

قم بلف الاستدعاءات في try/catch:

try {
// Success!
} catch (error) {
// Error!
}

ماذا يحدث عندما تنتهي صلاحية رمز الوصول؟

تستخدم SDK تلقائيًا رمز التحديث للحصول على رمز وصول جديد. يبقى مستخدموك متصلين بسلاسة!


هل هو آمن؟

نعم! تستخدم OneEntry:

  • 🔒 تشفير HTTPS
  • 🎫 رموز JWT (معيار الصناعة)
  • 🔄 رموز وصول قصيرة العمر
  • 🔐 تشفير كلمات مرور آمن
  • ✉️ تحقق من البريد الإلكتروني

تعريف وحدة AuthProvider


const { AuthProvider } = defineOneEntry(
"your-project-url", {
"token": "your-app-token"
}
);


🔗 الوثائق ذات الصلة