العربية
  • Idp
  • apache answer
  • community

Logto في العمل: دمج Apache Answer بسلاسة لإطلاق مجتمع لمستخدميك

يوضح كيفية الاستفادة من ميزة التطبيق الداخلي من Logto لدمج Apache Answer، مما يخلق منصة مجتمع موحدة حيث يمكن للمستخدمين الوصول بسلاسة للدعم باستخدام حساباتهم الحالية.

Yijun
Yijun
Developer

توقف عن إضاعة أسابيع في مصادقة المستخدم
أطلق تطبيقات آمنة بشكل أسرع مع Logto. قم بدمج مصادقة المستخدم في دقائق وركز على منتجك الأساسي.
ابدأ الآن
Product screenshot

إن بناء منتج برمجي رائع هو إنجاز كبير، ولكنه في الواقع مجرد بداية الرحلة.

يعتمد النجاح طويل الأجل وتطور أي تطبيق بشكل كبير على فهم وتفاعل مع مستخدميه، وهو ما يتضمن جمع التغذية الراجعة، تحديد نقاط الألم، الإجابة على الأسئلة، وحل المشاكل —— وهي دورة مهمة تدفع للتكرار والتحسين.

في هذه المقالة، سأقوم بـ:

  • شرح كيفية عمل ميزة تطبيق الطرف الثالث (OIDC) من Logto.
  • أريك كيفية استخدام Logto لدمج Apache Answer لبناء مجتمع لمستخدميك، مما يتيح لهم طرح الأسئلة، ومشاركة الأفكار، والحصول على المساعدة من فريقك ومن مستخدمين آخرين.

الميزة البارزة لاستخدام Logto هي أن المستخدمين يقومون بتسجيل الدخول إلى المجتمع بنفس الحساب كما في نظامك الخاصة. هذا يسمح لك بسهولة بمعرفة الحالة الحالية للمستخدمين الذين يطرحون أسئلة، مما يلغي الحاجة إلى تبادل متعدد ذهابًا وإيابًا للاستفسار عن وضعهم في برنامجك.

ما هو Apache Answer

apache-answer.png

Apache Answer هو منصة أسئلة وأجوبة مفتوحة المصدر تربط بين المستخدمين والفرق. يقوم بتوفير مساحة لمشاركة المعرفة وحل المشاكل معًا. تتميز المنصة بمعاينة ماركداون في الوقت الحقيقي، والبحث المتقدم، ونظام التصويت على المحتوى.

المنصة تدعم تسجيل الدخول عبر OAuth 2.0 بشكل افتراضي. هذا يجعلها متوافقة طبيعيًا مع موفري الهوية الحاليين مثل Logto. يمكن للمستخدمين تسجيل الدخول بحساباتهم الحالية دون إنشاء بيانات اعتماد جديدة خصيصًا لمنصة المجتمع.

فهم ميزة التطبيق الطرف الثالث في Logto

عندما نريد من المستخدمين تسجيل الدخول إلى التطبيقات الخارجية باستخدام حسابات Logto الخاصة بهم، فإن Logto يعمل كمزود هوية لتطبيقك (IdP).

فكر فيها باعتبارها السلطة المركزية المسؤولة عن التحقق من هوية المستخدمين. عندما يسجل المستخدم الدخول إلى تطبيقك الرئيسي، فمن المحتمل أن يتم إعادة توجيهه إلى Logto لتولي عملية المصادقة (اسم المستخدم/كلمة المرور، تسجيل الدخول الاجتماعي، إلخ). بمجرد أن يتحقق Logto بنجاح من المستخدم، يخبر تطبيقك بـ "نعم، هذا المستخدم شرعي" ويوفر بعض المعلومات الأساسية عنه.

هذا المفهوم يتجاوز مجرد التطبيق الرئيسي لديك. Logto يتضمن ميزة قوية —— تطبيق طرف ثالث. هذه الميزة تسمح لـ Logto بأداء دور IdP ليس فقط لتطبيقك الخاص، بل أيضًا لتلك التطبيقات الخارجية الأخرى التي ترغب في أن يصل إليها مستخدموك.

تحقق هذا باستخدام OpenID Connect (OIDC)، وهو طبقة هوية قياسية مبنية على بروتوكول OAuth 2.0. ببساطة، يتيح OIDC لتطبيق (مثل Apache Answer، المعروف باسم الطرف المعتمد أو العميل) طلب وتلقي معلومات حول هوية المستخدم من IdP (Logto).

عندما تقوم بتكوين تطبيق OIDC داخل Logto لـ Apache Answer، فأنت بشكل أساسي تقول لـ Logto: "كن مستعدًا للمصادقة على المستخدمين نيابة عن Apache Answer إذا طلب ذلك، وإذا وافق المستخدم، قم بإرسال بعض تفاصيل هوية المستخدم الأساسية بأمان إلى Answer." هذه القدرة هي المفتاح لفتح تسجيل دخول واحد سلس (SSO) بين تطبيقك المعتمد من Logto والأدوات الخارجية مثل Apache Answer.

إعداد المشهد: تطبيقك + Logto + Apache Answer

قبل الغوص في التكوين، دعنا نوضح العناصر المكونة لمشهدنا:

  1. تطبيقك: هذا هو التطبيق الرئيسي الخاص بك على الويب أو الجوال حيث يقوم المستخدمون بالفعل بالتسجيل وتسجيل الدخول. الأهم من ذلك، يتم دمج التطبيق مع Logto للمصادقة.
  2. Logto: منصة إدارة الهوية والوصول المركزية لديك، تعمل كمزوِّد الهوية IdP. يمتلك مستخدموك حسابات تم إدارتها بواسطة Logto.
  3. Apache Answer: المنصة المفتوحة المصدر للأسئلة والأجوبة التي ترغب في نشرها كمركز مجتمع لمستخدمي تطبيقك. هدفنا هو تكوين Answer لاستخدام Logto لتسجيل الدخول بدلاً من نظام اسم المستخدم/كلمة المرور المحلي الخاص بها.

خطوات عملية: تكوين Logto وApache Answer

لنبدأ الآن بالجانب العملي. يتضمن ذلك التكوين في كل من Logto وApache Answer.

تثبيت Apache Answer

اتبع دليل التثبيت الرسمي لتثبيت Apache Answer. وأخيرًا، يمكنك الوصول إليه عبر http://localhost:9080 افتراضيًا.

إنشاء تطبيق OIDC في Logto

  1. سجّل الدخول إلى لوحة تحكم Logto الخاصة بك.
  2. انتقل إلى صفحة التطبيقات.
  3. اضغط على الزر "إنشاء تطبيق" في الزاوية العلوية اليمنى من الصفحة (إذا لم ترَ هذا الزر، اضغط على "عرض الكل" في أسفل قائمة الإطارات).
  4. اختر فئة "تطبيق طرف ثالث"، ثم اختر "OIDC".
  5. أدخل اسم التطبيق (مثلًا، "مجتمع Apache Answer") والوصف (اختياري).
  6. اضغط على "إنشاء" لإكمال الإنشاء. بعد إنشاء التطبيق، سيتم إعادة توجيهك إلى صفحة تفاصيل التطبيق.
  7. في صفحة التفاصيل، أضف http://localhost:9080/answer/api/v1/connector/redirect/basic إلى حقل Redirect URI.
  8. اضغط على "حفظ" لحفظ التطبيق.

تكوين الأذونات لApache Answer

  1. في صفحة تفاصيل التطبيق، انتقل إلى علامة التبويب الأذونات.
  2. تحت منح إذونات بيانات المستخدم، ستجد رسالة تقول "ليس لديك أي إذونات منح بيانات المستخدم حاليًا."
  3. اضغط على زر إضافة لتكوين المعلومات التي يمكن لـ Apache Answer الوصول إليها.
  4. حدد النطاقات الضرورية (profile وemail) للسماح لـ Apache Answer بتلقي معلومات أساسية عن المستخدم عند تسجيل الدخول.
  5. احفظ إعدادات الإذن الخاصة بك.

logto-grant-permissions.png

تكوين تسجيل الدخول عبر OAuth في Apache Answer

  1. سجل الدخول إلى Apache Answer باستخدام حساب المدير.
  2. قم بزيارة لوحة الإدارة على http://localhost:9080/admin.
  3. انتقل إلى قائمة الإضافات -> الإضافات المثبتة وفعل OAuth2 Basic plugin.
  4. انتقل إلى صفحة الإضافة الخاصة بـ OAuth2 Basic.
  5. املأ المعلومات التالية وفقًا لتطبيق الطرف الثالث الذي قمت بإنشائه في Logto:
    • الاسم: اسم الموصل الذي سيظهر في صفحة تسجيل الدخول
    • معرف العميل: "معرف التطبيق" من صفحة تفاصيل التطبيق.
    • سر العميل: "السر الخاص بالتطبيق" من قسم "النقاط النهائية والبيانات المعتمدة" في صفحة التفاصيل.
    • عنوان URL للمصادقة: "نقطة النهاية للتفويض" من قسم "النقاط النهائية والبيانات المعتمدة" في صفحة التفاصيل.
    • عنوان URL للرمز: "نقطة النهاية للرسم" من قسم "النقاط النهائية والبيانات المعتمدة" في صفحة التفاصيل.
    • عنوان URL لمعلومات المستخدم: "نقطة النهاية لمعلومات المستخدم" من قسم "النقاط النهائية والبيانات المعتمدة" في صفحة التفاصيل.
    • مسار JSON لمعرف المستخدم: sub.
    • مسار JSON لعرض اسم المستخدم: name.
    • مسار JSON لاسم مستخدم المستخدم: username.
    • مسار JSON لبريد المستخدم الإلكتروني: email.
    • مسار JSON لصورة المستخدم: picture.
    • مسار JSON لتحقق من بريد المستخدم الإلكتروني: email_verified.
    • النطاقات: openid,profile,email.
  6. حفظ التكوين الإضافي في Apache Answer.

ملاحظة: تأكد من تضمين نطاق openid، والذي يتطلبه معيار OIDC لجلب معلومات المستخدم من User JSON URL. نظرًا لأن تطبيق الطرف الثالث من Logto يتم تنفيذه بناءً على OIDC، بينما يستخدم مكون Apache Answer OAuth 2.0، فإن هذا النطاق ضروري لضمان التدفق الصحيح للمصادقة بين النظامين.

نقطة فحص: اختبار التكامل

مع تكوين كل من Logto وApache Answer، دعنا نرى تجربة المستخدم السلسة:

  1. قم بزيارة Apache Answer، سترى هناك زر "اتصل باستخدام Logto" على صفحة تسجيل الدخول.

connect-with-logto.png

  1. انقر فوق الزر، سيتم إعادة توجيهك إلى صفحة تسجيل الدخول إلى Logto.

  2. بعد النقر على زر "اتصل باستخدام Logto"، سيتم إعادة توجيهك إلى Logto حيث يمكنك تسجيل الدخول باستخدام حسابك الحالي. ستشاهد بعد ذلك صفحة موافقة تطلب الإذن لمشاركة معلوماتك مع Apache Answer.

consent-page.png

  1. بعد الموافقة على الإذن، سيتم إعادة توجيهك إلى Apache Answer، وسترى أنك قد سجلت الدخول!

answer-dashboard.png

ملاحظة: يتحقق Apache Answer مما إذا كان المستخدم الذي قام بتسجيل الدخول لديه بريد إلكتروني موثوق. عندما لا يكون لدى المستخدم الخاص بك معلومات بريد إلكتروني، سيطلب Apache Answer منهم تقديم بريد إلكتروني للتحقق.

فوائد التكامل ملخصة

لماذا نمر بهذه الخطوات؟ الفوائد كبيرة:

  • تجربة المستخدم: هذا هو الربح الأكثر وضوحًا. لا يحتاج المستخدمون إلى إنشاء أو تذكر مجموعة أخرى من بيانات الاعتماد. يستخدمون تسجيل الدخول الذي يثقون به بالفعل، مما يوفر مدخلًا سلسًا وسهلًا إلى المجتمع. هذا يخفض بشكل كبير حاجز المشاركة.
  • كفاءة التطوير: تتجاوز الحاجة لبناء وصيانة تدفقات مصادقة المستخدم المنفصلة، التسجيل، إعادة تعيين كلمة المرور، إلخ، داخل Apache Answer. تستفيد من قاعدة المستخدمين الخاصة بك في Logto على الفور، مما يتيح لك إطلاق المجتمع بسرعة أكبر.
  • الأمان: يتم تفويض المصادقة إلى Logto، موفر IAM المتخصص الخاص بك، الذي من المحتمل أن يتعامل مع جوانب الأمان مثل المصادقة متعددة العوامل (MFA)، سياسات كلمة المرور، وحماية القوة الغاشمة بشكل أقوى من تطبيق مخصص داخل Answer ربما. تعتمد على معيار OIDC الناضج والمطلع.
  • قيمة المنتج وكفاءة الدعم: تقترب من إضافة ميزة مجتمع قيمة دون تفتيت هوية المستخدم. كما تم التأكيد سابقًا، معرفة أن مستخدم المجتمع هو نفسه كما أن منتج المستخدم يمكّن فريق الدعم لديك من تقديم مساعدة أكثر سياقًا وكفاءة، مما يعزز رضا المستخدم وتفاعله.

الخاتمة

تعد دمج الأدوات الخارجية أمرًا ضروريًا لبناء نظام بيئي برمجي غني، ولكن إدارة هويات المستخدمين عبر هذه الأدوات يمكن أن تكون صداعًا كبيرًا. كما أثبتنا مع Apache Answer، توفر ميزة تطبيق الطرف الثالث (OIDC) من Logto طريقة قوية وموحدة لسد هذه الفجوة.

من خلال تكوين Logto كمزود هوية مركزي لـ Apache Answer، يمكنك بشكل فعال "نقرة واحدة" تمكين مساحة مجتمع مخصصة لمستخدميك الحاليين، وتقديم تجربة تسجيل دخول سلسة وتوفير فوائد هوية المستخدم الموحدة لفريقك.

ما هو الأكثر إثارة هو أن هذه النمط ليست مقتصرة على منصات الأسئلة والأجوبة فقط؛ يمكن تطبيقه على لوحات معلومات التحليل، وأدوات إدارة المشاريع، والمرافق الداخلية، والعديد من التطبيقات الأخرى، مما يسمح لك ببناء نظام بيئي برمجي متكامل وسهل الاستخدام.

ابق على اطلاع في المقالات المستقبلية حيث قد نستكشف دمج أدوات مفيدة أخرى باستخدام Logto!