عند استخدام SSO مع sso overrides avatar: true، يبدو أن Discourse يقوم بتنزيل الصورة الرمزية (avatar) وخدمتها محليًا دائمًا بدلاً من الربط المباشر بالعنوان URL المقدم.
هل من المنطقي أكثر السماح لصور الرموز بالخدمة مباشرة من avatar_url المقدم؟ كما هو الحال حاليًا، كل صورة رمزية معروضة تتسبب في اتصال غير ضروري بعض الشيء بخلفية Discourse. ربما يمكن جعل هذا خيارًا ضمن إعدادات SSO؟
إذا كان القلق يتعلق باحتمال اختفاء الصور الرمزية، فيمكن التعامل مع ذلك باستخدام حدث onerror للصورة، بحيث يتم استبدال src بنسخة محلية مُحمَّلة مسبقًا (أو عرض صورة افتراضية). ما لا أعرفه هو ما إذا كان يمكن تقييد حجم الصور الرمزية الكبيرة جدًا باستخدام CSS فقط.
مثير للاهتمام. أعرف أن إضافة OIDC تتيح لك تجاوز البريد الإلكتروني في كل تسجيل دخول، ربما يكون من الممكن تطبيق شيء مشابه لاستبدال الصورة الرمزية عبر SSO أيضًا.
إذا كان عنصر SSO الرمزي بصيغة https://central.avatar.service/<username>، فيمكنك استخدام إعداد الموقع external_system_avatars_url للحصول على هذه الميزة.
متابعةً لهذا بعد عامين، أعتقد أنني أسأت فهم شيء ما سابقًا، ومع ذلك، ما زلت أعتقد أن هناك تحسينًا سهلاً هنا للأداء.
في السابق، كنت أعتقد أن الصور الرمزية يتم تخزينها محليًا (خادم Discourse نفسه) وتساءلت لماذا لا يتم تقديمها مباشرة من عنوان URL الخارجي للصور الرمزية لـ SSO بدلاً من الوصول إلى Discourse. ومع ذلك، بعد بعض الفحص، أرى الآن أن الصور الرمزية الخارجية القادمة من SSO تم تحميلها بالفعل إلى مساحة التخزين الكائنية (مثل S3) وبالأحجام المتعددة المطلوبة.
لذلك، إذا فهمت بشكل صحيح، فإن Discourse حاليًا يقوم بتمرير الصور الرمزية من مساحة التخزين الكائنية إلى العميل. ومع ذلك، يبدو أن هذا السلوك خاص بالصور الرمزية الخارجية لـ SSO حيث تأتي الصور الرمزية هنا في meta مباشرة من مساحة التخزين الكائنية (المقدمة عبر شبكة توصيل المحتوى). ولكن عند استخدام SSO مع عناوين URL الخارجية، تكون عناوين URL للصور الرمزية في الشكل
حيث يصل إلى rails لكل صورة رمزية معروضة (قبل أن يقوم العميل بتخزينها مؤقتًا).
وإذا فهمت الكود بشكل صحيح، فهناك حتى إعداد للسماح بإعادة توجيه بدلاً من تمريرها، ولكن في تلك المرحلة، يكون قد وصل بالفعل إلى rails، وإعادة التوجيه تضيف فقط وقتًا إلى وقت التحميل للعميل.
ألن يكون من الأسرع ربط الصور الرمزية بمساحة التخزين الكائنية (مع إمكانية تقديمها من شبكة توصيل محتوى) مع تحرير بعض موارد rails في نفس الوقت؟ /cc @Falco