מצב ממשק משתמש מיידי לכניסות

תאריך פרסום: 12 במאי 2026

מצב ממשק משתמש מיידי לכניסות הוא יכולת אינטרנט שנועדה לייעל את תהליכי הכניסה. התכונה הזו מאפשרת לכם להציע למשתמשים מפתחות גישה וסיסמאות מנוהלות באופן יזום כשהם מגיעים לרגע הכניסה, למשל כשהם לוחצים על הכפתור כניסה או מעבר לתשלום.

מופשט

מצב ממשק משתמש מיידי מספק מצב שבו הפעולה נכשלת במהירות אם אין אישורים זמינים באופן מקומי. ההתנהגות הזו דומה לזו של ממשקי API שנמצאים בפלטפורמות לנייד כמו Android ו-iOS.preferImmediatelyAvailableCredentials אם קיימים פרטי כניסה, הדפדפן מציג למשתמש תיבת דו-שיח מיידית לכניסה. אחרת, ההבטחה נדחית בשקט, ואתם יכולים לספק שיטות חלופיות לכניסה לחשבון, למשל טופס כניסה, בלי לפגוע בחוויית המשתמש.

החל ממאי 2026, ‏ Chrome הוא הדפדפן היחיד שתומך במצב ממשק משתמש מיידי.

בדיקת הדרישות המוקדמות

כדי להשתמש במצב ממשק משתמש מיידי, למשתמש צריכים להיות כבר אישורים מתאימים שזמינים באופן מקומי במכשיר שלו. ב-Chrome, פרטי הכניסה האלה כוללים:

  • מפתחות גישה שנשמרו אצל ספק מפתחות גישה כמו מנהל הסיסמאות של Google,‏ Windows Hello או iCloud Keychain.
  • סיסמאות שנשמרו במנהל הסיסמאות של Google.

אם לא קיימים פרטי כניסה מקומיים, ה-API דוחה את הבקשה בלי להציג את תיבת הדו-שיח של הכניסה המיידית.

זיהוי תמיכה בתכונות

לפני שמפעילים את מצב ממשק המשתמש המיידי, צריך לוודא שהדפדפן תומך ביכולת immediateGet באמצעות השיטה PublicKeyCredential.getClientCapabilities(). אם הוא לא נתמך, המערכת תחזור לשיטות הכניסה הקיימות, כמו טפסים של כתובת אימייל וסיסמה, אימות מספר טלפון או כניסה באמצעות חשבון ברשתות החברתיות.

async function checkImmediateAvailability() {
  try {
    const capabilities = await PublicKeyCredential.getClientCapabilities();
    if (capabilities.immediateGet) {
      console.log("Immediate UI mode is supported.");
    } else {
      console.log("Immediate UI mode is NOT supported.");
    }
  } catch (error) {
    console.error("Error checking client capabilities:", error);
  }
}

כדי לקבל תמיכה רחבה יותר בדפדפנים, אפשר להשתמש ב-polyfill שזמין במאגר WebAuthn Polyfills ב-GitHub.

בקשת פרטי כניסה

כדי להפעיל את תהליך הכניסה המיידי, קוראים ל-navigator.credentials.get() כשהשדה uiMode מוגדר ל-'immediate'.

אם תכללו את password: true בבקשה, המשתמשים יוכלו ליהנות מהחוויה הזו אם הדפדפן תומך בפרטי כניסה של סיסמאות.

// This call must follow a user gesture, like a button click
button.addEventListener('click', async (event) => {
  event.preventDefault();
  try {
    const cred = await navigator.credentials.get({
      password: true,
      publicKey: {
        challenge: serverGeneratedChallenge,
        rpId: 'example.com'
      },
      uiMode: 'immediate',
    });
    // Handle successful sign-in
  } catch (error) {
    if (error.name === 'NotAllowedError') {
      // Provide a fallback sign-in experience
      showFallbackUI();
    }
  }
});

כדי לספק חוויית כניסה חלופית, צריך לטפל ב-NotAllowedError בבלוק catch.

טיפול בתהליכי כניסה

אפשר להטמיע מצב ממשק משתמש מיידי בשני תרחישים עיקריים.

כניסה באמצעות כפתור

צריך לספק כפתור ייעודי לכניסה לחשבון, שמאפשר חוויה נקייה בלי הנחיות בלתי צפויות.

  1. המשתמש לוחץ על הלחצן כניסה.
  2. האתר שלך מתקשר אל navigator.credentials.get() באמצעות uiMode: "immediate".
  3. הדפדפן בודק אם יש פרטי כניסה מקומיים.
  4. אם הדפדפן מוצא פרטי כניסה, הוא מציג מיד תיבת דו-שיח לכניסה כדי שהמשתמש יוכל לבחור חשבון.
  5. אם הדפדפן לא מוצא פרטי כניסה או שהמשתמש סוגר את תיבת הדו-שיח המיידית לכניסה, מוצגת השגיאה NotAllowedError.
  6. אם מתקבלת שגיאת NotAllowedError, האתר ממשיך להציג את דף הכניסה הרגיל שלו.

כניסה לחשבון לפני התשלום

להציע פרטי כניסה באופן יזום לפני שהמשתמש מבצע פעולה שתהיה יעילה יותר אם הוא יתחבר לחשבון, כמו התחלת תהליך תשלום בחנות אינטרנטית.

במסחר אלקטרוני, משתמשים אורחים לרוב בוחרים בין כניסה לחשבון קיים לבין תשלום כאורחים. הצגת תיבת דו-שיח לכניסה מיידית יכולה לשפר את תהליך התשלום עבור לקוחות חוזרים.

  1. המשתמש מבצע פעולה, כמו לחיצה על הכפתור תשלום במהלך תהליך קנייה.
  2. האתר שלך מתקשר אל navigator.credentials.get() באמצעות uiMode: "immediate".
  3. אם יש פרטי כניסה, המשתמש בוחר אחד מהם כדי להשלים את הכניסה.
  4. אם אין פרטי כניסה, הדפדפן יציג שגיאה ולא יוצג מיד דו-שיח לכניסה. חוויית המשתמש לא משתנה, ואפשר להעביר את המשתמש למסך התשלום הקיים, שבו עשויות להיות אפשרויות כניסה אחרות או טופס תשלום כאורח.

בדיקה של אמצעי הפרטיות והאבטחה

הדפדפן מטמיע אמצעים חשובים להגנה על פרטיות המשתמשים:

  • דרישה לתנועת משתמש: כדי למנוע בדיקה שקטה, צריך ליזום את הקריאה ל-API באמצעות תנועת משתמש, כמו קליק. השיחה לא צורכת את ההפעלה.
  • הגבלות על מצב גלישה בסתר: בקשות בסשנים פרטיים או בסתר תמיד יחזירו את השגיאה NotAllowedError.
  • אין רשימות היתרים: בקשות עם רשימה allowCredentials לא ריקה יגרמו לשגיאה NotAllowedError כדי למנוע מעקב בין סשנים.
  • אין ביטול פרוגרמטי: אי אפשר להשתמש בפרמטר signal כדי לסגור באופן פרוגרמטי את תיבת הדו-שיח של ההתחברות המיידית.