مشكلة في إعداد تسجيل الدخول بدون كلمة مرور باستخدام AWS Cognito

متابعةً للنقاش من لا يمكن تغيير السمة في Discourse — لا يعمل شيء:

مرحباً كارلوس! أهلاً بك في مجتمعنا. :hugs:

أوه، هذا مزعج. سأبدأ موضوعاً جديداً هنا إذا كنت مستعداً للمحاولة مرة أخرى معنا. أنا شخصياً لست على دراية بـ AWS Cognito. هل يمكنك إخبارنا بما حاولت وأين واجهت صعوبة؟ بصفتك عميلاً مستضافاً، يمكنك أيضاً التواصل مع team@discourse.org للحصول على دعم مخصص.

وفقاً لـ بوت الذكاء الاصطناعي الخاص بنا، يجب أن يكون من الممكن إعداده باستخدام إضافة OpenID connect.

إعداد AWS Cognito لـ Discourse AI

tobiaseigen:

إعداد AWS Cognito

ForumHelperBot:

التفكير...المستخدم يسأل عن إعداد AWS Cognito. AWS Cognito هي خدمة مصادقة مقدمة من Amazon Web Services تساعدك على إضافة تسجيل المستخدمين وتسجيل الدخول والتحكم في الوصول إلى تطبيقات الويب والهاتف المحمول الخاصة بك.

سأبحث عن أي مناقشات أو أدلة حول تكامل AWS Cognito مع Discourse لتوفير المعلومات الأكثر صلة.

بحث

تم العثور على 54 نتيجة لـ 'aws cognito integration discourse'

التفكير...سأقوم بتحليل نتائج البحث لتوفير معلومات حول إعداد تكامل AWS Cognito مع Discourse.

بناءً على نتائج البحث، هناك العديد من المواضيع التي تناقش تكامل AWS Cognito مع Discourse. النهج الرئيسي يبدو أنه استخدام إضافة المصادقة عبر OpenID Connect لـ Discourse. دعني ألخص المعلومات الرئيسية:

  1. هناك مواضيع متعددة حيث نجح المستخدمون في دمج AWS Cognito مع Discourse باستخدام إضافة OpenID Connect.

  2. تشمل بعض المواضيع ذات الصلة:

    • “هل لدى أي شخص تكوين AWS Cognito يعمل مع ouath2 أو openid أو sso؟”
    • “تسجيل الدخول التلقائي باستخدام إضافة OpenId Connect و AWS Cognito”
    • “تدفق تسجيل دخول مخصص: AWS Cognito SSO (عبر تسجيل الدخول بدون كلمة مرور) - هل هذا ممكن؟”
    • “دعم OpenID Connect في مثيل Discourse المستضاف ذاتياً”
  3. تذكر هذه المناقشات إضافة OpenID Connect الرسمية لـ Discourse: GitHub - discourse/discourse-openid-connect: Allows an OpenID Connect provider to be used as an authentication provider for Discourse

  4. ذكر أحد المستخدمين أنه تمكن من تمكين SSO عبر AWS Cognito باتباع الخطوات في هذه المواضيع:

    • “إضافة المصادقة عبر OpenID Connect”
    • “هل لدى أي شخص تكوين AWS Cognito يعمل مع ouath2 أو openid أو sso؟”

دعني أقرأ الموضوع الأكثر صلة لجمع المزيد من التعليمات المحددة.

إعداد AWS Cognito مع Discourse

بناءً على نتائج البحث، هناك العديد من التطبيقات الناجحة لتكامل AWS Cognito مع Discourse باستخدام إضافة OpenID Connect. إليك كيفية إعداد ذلك:

الخطوة 1: تثبيت إضافة OpenID Connect

تسمح لك إضافة Discourse OpenID Connect (OIDC) باستخدام AWS Cognito كموفر مصادقة لـ Discourse.

لتثبيت الإضافة، أضفها إلى ملف app.yml الخاص بك:

- git clone https://github.com/discourse/discourse-openid-connect.git

الخطوة 2: تكوين AWS Cognito

  1. أنشئ تجمع مستخدمين في AWS Cognito
  2. قم بإعداد عميل تطبيق في تجمع المستخدمين الخاص بك
  3. قم بتكوين عنوان URL لرد الاتصال ليكون https://your-discourse-site.com/auth/oidc/callback
  4. لاحظ نطاق Cognito الخاص بك، ومعرف العميل، وسر العميل

الخطوة 3: تكوين إضافة OpenID Connect في Discourse

انتقل إلى Admin > Settings > Plugins > openid connect وقم بتعيين ما يلي:

  • openid connect enabled: true
  • openid connect discovery document: https://{cognito-domain}.auth.{region}.amazoncognito.com/{user-pool-id}/.well-known/openid-configuration
  • openid connect client id: معرف عميل تطبيق Cognito الخاص بك
  • openid connect client secret: سر عميل تطبيق Cognito الخاص بك
  • openid connect authorize scope: openid email profile
  • openid connect token url: https://{cognito-domain}.auth.{region}.amazoncognito.com/oauth2/token
  • openid connect authorize url: https://{cognito-domain}.auth.{region}.amazoncognito.com/oauth2/authorize
  • openid connect user json url: https://{cognito-domain}.auth.{region}.amazoncognito.com/oauth2/userInfo

خيارات تكوين إضافية

  • لتمكين تسجيل الدخول التلقائي، قم بتعيين openid connect authorize url لتضمين ?prompt=none
  • يمكنك تخصيص نص زر تسجيل الدخول باستخدام openid connect button title

استكشاف الأخطاء وإصلاحها

إذا واجهت مشاكل:

  • تأكد من تعيين عنوان URL لرد الاتصال بشكل صحيح في كل من Cognito و Discourse
  • تحقق من صحة معرف العميل والسر الخاص بك
  • تأكد من تكوين تجمع مستخدمي Cognito الخاص بك بشكل صحيح لإرجاع سمات المستخدم المطلوبة

للحصول على أمثلة تنفيذ أكثر تفصيلاً، تحقق من هذه المناقشة حيث شارك المستخدمون تكويناتهم الناجحة.

هل ترغب في مزيد من المعلومات المحددة حول أي جزء من عملية الإعداد هذه؟

إعجابَين (2)

شكرًا جزيلًا @tobiaseigen!

بدأت المجتمع بدون AWS Cognito… نظامي يستخدم نظام المصادقة الافتراضي لـ Discourse… الأمر يبدو مبتورًا قليلاً لأنه، كلما أصبح مستخدميّ عملاء مدفوعين، ينشئ webhook على Stripe مستخدم Discourse جديد باستخدام الـ API، يولد كلمة مرور مؤقتة، ويرسل بيانات الاعتماد إليهم عبر البريد الإلكتروني.

كنت أريد استخدام AWS Cognito لأن خدمتي المدفوعة الرئيسية عبارة عن دورة مستضافة على Gitbook، محمية بنظام مصادقة بدون كلمة مرور من AWS Cognito. إعادة استخدام النظام سيكون مثالياً لمستخدميّ. لكن الآن لقد فات الأوان :ابتسامة:

على أي حال، أعتقد أنني اتبعت جميع الخطوات التي وصفتها… أو ربما فاتني شيء… كل شيء عمل بشكل مثالي، باستثناء أن بعد إدخال البريد الإلكتروني ورمز المصادقة، كانت Discourse تعيد التوجيه مرة أخرى إلى /login وليس إلى / (الصفحة الرئيسية). عند فحص المستخدمين في صفحة إدارة Discourse، رأيت أن AWS Cognito لن ينشئ مستخدمي Discourse أبدًا.

شكرًا على أي حال!

إعجاب واحد (1)