عام
س: هل ينفِّذ نظام إدارة التعلّم سياسات الحصص أو قيود الاستخدام الأخرى، مثل حدود المعدلات، لطلبات التمديد؟
ج: نعم ولا. بالنسبة إلى LTI Advantage 1.3، فإن نقاط نهاية LTI لخدمات الواجبات والعلامات (AGS) وخدمات تزويد أسماء وأدوار LTI (NRPS) محدودة المعدل تمامًا مثل واجهات برمجة تطبيقات Brightspace. ويستند تحديد المعدل على أساس كل تكامل، وليس على أساس كل مستخدم. كما أن نتائج LTI 1.1 القديمة ليست محدودة المعدل.
س: أتلقى رسالة "422 كيان غير قابل للمعالجة" عند إرسال درجة LineItem من أداة إلى المنصة.
ج: يتم إرسال رسالة الخطأ هذه عندما تحاول الأداة إرسال درجة LineItem لمستخدم لا يمكن وضع علامة له، ويتم التحكم في هذه الوظيفة من خلال خيار إمكانية وضع علامات عليه في حقل العلامات. يمكن العثور على هذا الخيار من خلال الانتقال إلى الأدوار والأذونات > تحرير الإعدادات > خيارات سلوك الأداة.
المصادقة
س: أتلقى خطأ 404 عند محاولة إعادة التشغيل للعودة إلى المنصة.
ج: يجب تضمين جميع المعلمات (بما في ذلك الحالة الاختيارية) عند إجراء إعادة التشغيل لربط الطلب.
س: ما القيم المطلوبة في طلب رمز المصادقة المميز؟
ج: القيم الآتية مطلوبة:
- iss: معرِّف فريد للمستخدم الذي أصدر JWT. قيمة client_id من المنصة. مماثل لـ sub.
- sub: مماثل لـ iss، قيمة client_id لـ Oauth من المنصة.
- aud: معرِّف (معرِّفات) الخادم المخوّل الذي توفره المنصة.
- iat: الطابع الزمني لإنشاء JWT.
- exp: الطابع الزمني لانتهاء صلاحية JWT.
- jti: معرِّف فريد (يُحتمل أن يكون قابلاً لإعادة الاستخدام) للرمز المميز.
https://www.imsglobal.org/spec/security/v1p0#using-json-web-tokens-with-oauth-2-0-client-credentials-grant
س: هل تدعم Brightspace المفاتيح العامة والخاصة من الأداة؟
ج: لا، وفق أفضل الممارسات، قررت Brightspace دعم مجموعة مفاتيح JWK الخاصة بالأداة فقط.
س: أتلقى خطأ "error_description": "Error validating assertion: KeyId not found in token".
ج: تدعم Brightspace مسارات JWKS الخاصة بالأداة. يجب أن يكون المفتاح محاطًا بمجموعة مفاتيح وفق معيار JWKS.
س: أتلقى خطأ "error":"invalid_client"؟
ج: يجب أن يكون iss معرِّف العميل المماثل لمعرِّف عميل sub. كان إضافة متأخرة إلى المواصفات.
س: عند طلب رمز مميز للوصول لخدمة LTI، أتلقى فشلاً ينص على شيء مثل:
{"error":"invalid_grant","error_description":"Client is not authorized to set a 'kid' claim"}
{"error":"invalid_grant","error_description":"Error validating assertion: KeyId not found in token"}
ج: يجب تضمين مطالبة Kid في الرأس فقط وليس في البيانات الأساسية.
س: يتعذر في بعض الأحيان إرسال طلب إلى خدمة المصادقة مع ظهور خطأ غير معروف، مثل:
{"error":"server_error","error_description":"An unexpected exception occured"}
ج: يتم طرح هذا الخطأ من قِبل خدمة المصادقة الخاصة بنا، وقد يكون من الصعب تصحيحه. عادةً ما تكون الأخطاء أكثر وضوحًا، لكن في الحالات التي لا تكون فيها كذلك، فإن أفضل فرصة لدينا هي أن تسترد الأداة الطلب وترسله إلينا لتصحيح المشكلة.
س: هل تدعم المنصة GET أو POST لتخويل عناوين URL لإعادة التوجيه؟
ج: كل من GET وPOST أسلوبان مدعومان
س: هل تدعم المنصة المفاتيح العامة التي تُستخدم لمرة واحدة أو عنوان URL لـ JWKS؟
ج: ندعم استخدام عناوين URL لـ JWKS لكلا مفتاحَي المنصة ولاسترداد المفاتيح من الأداة.
س: ما خوارزميات التوقيع المدعومة: RS225 أم RS512؟
ج: RS256
س: ما حجم المفتاح المدعوم: 1024 أم 2048؟
ج: 2048
س: ما نقطة نهاية استرداد الرمز المميز للمنصة؟
ج: عنوان URL للرمز المميز للوصول إلى Brightspace Oauth2: https://auth.brightspace.com/core/connect/token
س: أتلقى طلبًا غير صالح.
ج: تحقق من سجل نظام D2L بحثًا عن أي من الرسائل الآتية:
- تلميح رسالة غير صالح: التلميح غير موجود.
- انتهت صلاحية تلميح الرسالة: انتهت صلاحية هذا التلميح. للتلميحات إطار زمني لانتهاء الصلاحية قدره عشر دقائق لتسجيل الدخول الأولي.
- تعذر تحليل تلميح الرسالة: لا يحتوي التلميح على التنسيق الصحيح. راجع المواصفات.
خدمة الواجبات والعلامات
س: أي نوع منحة OAuth 2 تدعمه المنصة لخدمة الواجبات والعلامات؟
ج: نتبع مواصفات الأمان: منح بيانات اعتماد عميل Oath 2.
س: تُرجع أداتي علامة، لكن لا يتم تحديث دفتر العلامات.
ج: لن يعكس دفتر علامات Brightspace إلا العلامات من الأداة ذات حالة تم وضع علامة عليها بالكامل.
س: يفشل تمرير LineItem لديَّ أو لا يتم إنشاؤه عند إضافته عبر Insert Stuff أو من خلال الارتباط السريع الداخلي لمنشئ المقرر التعليمي.
ج: توصي D2L باستخدام ارتباط سريع بدلاً من ذلك إذا كان LineItem مطلوبًا. بالنسبة إلى سير عمل منشئ المقرر التعليمي، يسمح النقر فوق الارتباط الموجود في اللوحة الجانبية اليسرى للأداة بإرسال المعلومات لإنشاء LineItem.
س: "لا يمكن إقران LineItem بمعرِّف ارتباط مورد context_launch الخاص بالأداة البرمجية".
ج: سيتم قبول LineItems المستقلة، لكن لا يمكن إقران LineItem بأداة برمجية في Brightspace.
الأسماء والأدوار
س: لا أتلقى مستخدمين غير معروفين لأداتي من قائمة الصفوف عند استخدام ملحق الأسماء والأدوار.
ج: ثمة بضعة أسباب يمكن أن تؤثر في كيفية اختيار المنصة لإرسال المستخدمين:
- زر التبديل "إرسال المستخدمين غير معروفين": السبب الواضح هو زر التبديل على مستوى النشر الذي يحدد ما إذا كان مسموحًا للأداة بتلقي المستخدمين الذين لا تعرفهم بالفعل. بدءًا من الإصدار 20.20.11 لـ Brightspace، إذا كانت "قائمة الصفوف تتضمن مستخدمين غير معروفين لعملية النشر هذه"، فسينشئ طلب NRPS من الأداة تلقائيًا LTI UserId لأي مستخدم لم يشغِّل ارتباط LTI في Brightspace مطلقًا.
- بنية أسلوب GET: معلومة جانبية بخصوص الأداة، من الممكن طلب قائمة الصفوف في العروض التي تمت تصفيتها ولا تطلب "جميع المستخدمين". يجب أن تضمن الأدوات تنظيم طلبك للحصول على أي مستخدمين في مقرر تعليمي معين عبر استدعاء واجهة برمجة التطبيقات للأسماء والأدوار.
الربط لموضوع معيّن
س: أتلقى رسالة الخطأ "IDX10511: Signature validation failed".
ج: في هذه الحالة، بدأت الوحدات النمطية بـ 00. ثمة خطأ في .NET غير قادر على معالجة هذا وتجب إزالة البايت الإضافي قبل الترميز.
س: أرجعتني إعادة النشر في أثناء سير عمل الربط لموضوع معيّن إلى خطأ داخلي أو خطأ 500.
ج: يجب تضمين مطالبة KID في رأس JWT.
س: يفشل إرجاع الربط لموضوع معيّن من دون ظهور أي خطأ.
ج: تحقق دائمًا من سجل النظام. ستظهر معلومات إضافية بما في ذلك الرسالة في سجل النظام للمساعدة على استكشاف المشكلة وإصلاحها.
على سبيل المثال: يعني تعذر العثور على المفتاح العام مع المعرِّف أن مطالبة KID في JWT لا تظهر في JWKS.
س: أتلقى طلبًا غير صالح عند إعادة إرسال البيانات من أداتي.
ج: تنتهي صلاحية تلميح الرسالة بعد ست ساعات. إذا كنت تستخدم الأداة لمدة تزيد على ست ساعات قبل إرجاع البيانات، فستنتهي صلاحية تلميح الرسالة وينتج عن ذلك طلب غير صالح.
واجهة برمجة تطبيقات الترحيل
س: لديّ أداة برمجية مخصصة تستخدم LTI الإصدار 1.1. هل يمكنني ترحيلها باستخدام واجهة برمجة التطبيقات إلى الإصدار 1.3؟
ج: لا، نوصي بإعادة إنشاء الأداة البرمجية باستخدام سير عمل موضع LTI الإصدار 1.3.