لقد لاحظت هذه المشكلة من قبل على Meta، ولكنها ظهرت بعد ذلك في عمليات النشر الخاصة بي بعد الترقية الأخيرة: عند النقر على تسجيل الدخول، يظهر مربع الحوار “Welcome back ”، ويتم حجبه فورًا بواسطة “Sorry, an error occurred”. يؤدي النقر على موافق إلى إزالة مربع الحوار الخطأ ويمكنك استئناف المصادقة بشكل طبيعي.
يوجد سجل خطأ في وحدة التحكم:
ajax-error.js:9:12
l ajax-error.js:9
p ajax-error.js:95
passkeyLogin login.js:147
إعجابَين (2)
Moin
1 فبراير 2024، 12:38ص
2
ما هو المتصفح الذي تستخدمه؟
Firefox 115.7.0esr (64 بت) على Debian 12.
Discourse v3.3.0.beta1-dev — Commits · discourse/discourse · GitHub — Ember v5.5.0
إعجاب واحد (1)
Moin
1 فبراير 2024، 12:41ص
4
إعجابَين (2)
هذا تراجع تم تقديمه هنا: FEATURE: Allow users to confirm session with passkeys (#24337) · discourse/discourse@c6ead3f · GitHub
) {
if (!isWebauthnSupported()) {
return errorCallback(I18n.t("login.security_key_support_missing_error"));
}
// we need to check isConditionalMediationAvailable for Firefox
// without it, Firefox will throw console errors
// We cannot do a general check because iOS Safari and Chrome in Selenium quietly support the feature
// but they do not support the PublicKeyCredential.isConditionalMediationAvailable() method
if (mediation === "conditional" && isFirefox) {
const isCMA = await PublicKeyCredential.isConditionalMediationAvailable();
if (!isCMA) {
return;
}
}
try {
const resp = await ajax("/session/passkey/challenge.json");
const credential = await navigator.credentials.get({
publicKey: {
أعتقد أن الكود يحتاج إلى نقله في try{} أدناه؛ وإلا، سيستخدم الخطأ واجهة المستخدم بدلاً من وحدة التحكم.
userHandle: bufferToBase64(credential.response.userHandle),
};
} catch (error) {
if (error.name === "AbortError") {
// no need to show an error when the cancelling a pending ceremony
// this happens when switching from the conditional method (username input autofill)
// to the optional method (login button) or vice versa
return null;
}
if (mediation === "conditional") {
// The conditional method gets triggered in the background
// it's not helpful to show errors for it in the UI
// eslint-disable-next-line no-console
console.error(error);
return null;
}
if (error.name === "NotAllowedError") {
return errorCallback(I18n.t("login.security_key_not_allowed_error"));
} else if (error.name === "SecurityError") {
4 إعجابات
pmusaraj
(Penar Musaraj)
2 فبراير 2024، 9:40م
7
شكراً على التقرير. يجب إصلاح هذا عبر https://github.com/discourse/discourse/pull/25549، لم أتمكن من إعادة إنتاجه إلا بهذه النسخة من فايرفوكس على ويندوز/ماك، ولكن الإصلاح يجب أن ينطبق على أنظمة التشغيل الأخرى أيضاً.
3 إعجابات
pmusaraj
(Penar Musaraj)
تم إغلاقه في
6 فبراير 2024، 10:41م
9
تم إغلاق هذا الموضوع تلقائيًا بعد 4 أيام. لم يعد يُسمح بالردود الجديدة.