هل لدى أحدكم إعداد AWS Cognito يعمل مع OAuth2 أو OpenID أو SSO؟

أحاول دمج Discourse مع مستودع مستخدمين Cognito الحالي لدينا.

لا نملك أي إعداد لمزود هوية (IdP) أو SAML في AWS لتسجيل الدخول الموحد، لذا لم نتوجه إلى هذا المسار.

حاولت استخدام إضافة OpenID، لكن Discourse يعيد توجيه تسجيل الدخول إلى نقطة النهاية /AUTHORIZE في Cognito بدلاً من /LOGIN. أعرف أن هذا مستمد من الإعدادات في .well-known، لكنني لست متأكداً من كيفية عمل ذلك.

حاولت أيضاً استخدام إضافة OAuth2؛ أرى أن Discourse يستدعي نقطة النهاية /TOKEN ويستقبل الـ JWT من Cognito، لكن نقطة النهاية /USERINFO تعيد خطأ، لذا لا يتجاوز هذه المرحلة.

هل لدى أي شخص إعداد يعمل يمكنه مشاركته؟ يبدو أن OAuth2 هو المسار الأفضل، لكن يبدو أنني أغفلت شيئاً ما.

إعجابَين (2)

How did you get on with this?

I have same need

Cheers

Todd

إعجابَين (2)

Hi - I have gotten any replies from anyone and I haven’t had a chance to revisit it myself unfortunately.

إعجابَين (2)

لـ AWS Cognito كمزود هوية لـ إضافة OpenID Connect

  1. انقر على زر “إنشاء مجموعة مستخدمين” (Create a User Pool) داخل وحدة تحكم AWS Cognito على الويب.
  2. انقر على “مراجعة الإعدادات الافتراضية” (Review Defaults) لاستخدام معظم الإعدادات الافتراضية.
    2a. قبل إنشاء المجموعة، تأكد من النقر على “إضافة عميل تطبيق” (Add an App Client).
    2b. أنشئ عميل تطبيق؛ امنحه اسمًا وألغِ تحديد كل شيء ما عدا تمكين المصادقة المستندة إلى رمز التحديث (ALLOW_REFRESH_TOKEN_AUTH).


3. انقر على “إنشاء المجموعة” (Create pool).
4. الآن، تحت “الإعدادات العامة” في القائمة اليسرى، انقر على “عميل التطبيق” (App Client) واحفظ قيم معرف عميل التطبيق و سر عميل التطبيق.
5. بعد ذلك، تحت “تكامل التطبيق” في القائمة اليسرى، انقر على “اسم النطاق” (Domain name). أدخل نطاقًا فرعيًا هنا. سيكون الاسم هنا هو النطاق الذي يتم توجيه المستخدمين إليه عند تسجيل الدخول.

6. في الزاوية العلوية اليسرى من وحدة تحكم AWS Cognito - انقر على “الهويات الموحدة” (Federated Identities)، من الصعب العثور عليها قليلاً.
الهويات الموحدة|237x66، 75%
7. بمجرد الوصول إليها، انقر على إنشاء مجموعة هويات جديدة (Create new identity pool).
8. امنح مجموعة الهويات اسمًا.
8b. تحت قسم مزودو المصادقة (Authentication providers)، استخدم معرف مجموعة المستخدمين من مجموعة المستخدمين التي تم إنشاؤها سابقًا ومعرف عميل التطبيق من عميل التطبيق الذي تم إنشاؤه سابقًا.


9. انقر على “إنشاء المجموعة” (Create Pool) واسمح لوحدة التحكم بإنشاء أدوار IAM لاستخدامها مع مجموعة الهويات الجديدة.
10. في هذه المرحلة، لديك تقريبًا كل ما تحتاجه لبدء إعداد مثيل Discourse الخاص بك مع إعدادات الموقع الصحيحة، بافتراض أنك قمت بتثبيت الإضافة.

تمكين اتصال openid: قم بتمكين هذا الخيار.
معرف عميل اتصال openid: استخدم معرف عميل التطبيق الذي استردناه في الخطوات السابقة.
سر عميل اتصال openid: استخدم سر عميل التطبيق الذي رأيناه في الخطوات السابقة.
مستند اكتشاف اتصال openid: يتبع رابط مستند اكتشاف URL التنسيق أدناه.. يمكنك رؤية تنسيق userPoolId أعلاه في لقطة الشاشة مع الخطوة 8b..

https://cognito-idp.{region}.amazonaws.com/{userPoolId}/.well-known/openid-configuration

للتحقق من صحة تنسيق URL، فقط حاول لصقه في متصفحك ويجب أن تحصل على ملف JSON جميل يعرض نقطة نهاية التفويض، والمصدر، وأشياء أخرى.

نطاق تفويض اتصال openid: openid email


أشياء أخرى قد تكون مفيدة

7 إعجابات

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.