Oauth2 plugin: الأفاتار غير مستخدم

مرحباً،

أنا أفصل إلى موضوع مشكلة مشار إليها هنا Discourse OAuth2 Basic - #304 by nodomain
وهنا Discourse OAuth2 Basic - #316 by jmlord (أنا)
وربما هنا User avatar not updating on re-log in

يتم إنشاء الحساب بنجاح ولكن الصورة الرمزية غير مدرجة. استجابة نموذجية:

Body: {
  "access_token":"...",
  "token_type":"bearer",
  "expires_in":"3600",
  "scope":"profile",
  "profile" : {
    "id":1234,
    "email": "...",
    "name": "...",
    "picture": "https://somedomain.com/somevalidpicture.jpg"
  }
}

المتغير oauth2 callback user info paths يتضمن القيمة avatar:profile.picture ويتم تحليله بشكل صحيح، حيث يظهر في السجل التالي:

OAuth2 Debugging: after_authenticate response:

creds: {"token"=>"...", "expires_at"=>1702053692, "expires"=>true}
uid: 1234
info: {"email"=>"...", "name"=>"...", "avatar"=>"https://members.geobon.org/pages/profile-picture/62146-17077.jpg"}
extra: {}

لقد تحققت من أن عنوان الصورة صحيح، وحجمها 300x300. إليك نموذج.

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

أي فكرة لماذا لا يعمل هذا معنا؟ (من الواضح أنه يعمل مع بعض الإعدادات الأخرى…)

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

هممم، لست متأكدًا من إمكانية الحصول على الصورة الرمزية

مرحباً ليليان، شكراً للمساعدة.

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

أيضًا، يبدو أن هذا يعمل في بعض الحالات:

أيضًا، تلميح خاصية oauth2 callback user info paths يقول

المسارات في استجابة الرمز إلى خصائص المستخدم الأخرى. الخصائص المدعومة هي name، username، email، email_verified و avatar. التنسيق هو property:path، على سبيل المثال: name:params.info.name

إذا لم يكن عن طريق عنوان URL، فكيف نفعل ذلك؟ هل يجب أن أقوم بتشفير base64 في الملف؟

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

حسنًا، لقد تمكنت من حل المشكلة باستخدام العملية المكونة من خطوتين. يبدو أن التلميح خطأ أو أن هناك خطأ في هذا الجزء من المكون الإضافي:

oauth2 callback user info paths: … الخصائص المدعومة هي الاسم واسم المستخدم والبريد الإلكتروني والبريد الإلكتروني الذي تم التحقق منه والصورة الرمزية.

هذا الأخير ليس صحيحًا. لكي تعمل الصور الرمزية، يحتاج المرء إلى إضافة نقطة نهاية JSON لتفاصيل المستخدم، وتحديد “جلب مستخدم JSON لـ OAuth2” وتعبئة خاصية oauth2 json avatar path.

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