שחזור פרטי הכניסה לאפליקציה כשמגדירים מכשיר חדש

התכונה שחזור פרטי כניסה בכלי לניהול פרטי כניסה מאפשרת למשתמשים לשחזר את החשבונות שלהם באפליקציות כשהם מגדירים מכשיר חדש. ממשק ה-API הזה נמצא בתצוגה מקדימה למפתחים והוא זמין בכל המכשירים עם Android מגרסה 9 ואילך ועם Google Play Services (GMS) Core מגרסה 242200000 ואילך. היתרונות של התכונה 'שחזור פרטי הכניסה' כוללים:

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

איך זה עובד

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

  1. יצירת פרטי כניסה לשחזור: כשמשתמש נכנס לאפליקציה שלכם, צריך ליצור פרטי כניסה לשחזור שמשויכים לחשבון שלו. האישורים האלה מאוחסנים באופן מקומי ומסונכרנים עם הענן אם המשתמש הפעיל את הגיבוי של Google ויש אפשרות להצפנה מקצה לקצה (אפליקציות יכולות לבחור שלא לסנכרן עם הענן)
  2. קבלת אישור השחזור: כשהמשתמש מגדיר מכשיר חדש, האפליקציה יכולה לבקש את אישור השחזור ממנהל האישורים. כך תוכלו להכניס את המשתמשים לחשבון באופן אוטומטי בלי לדרוש מהם להזין מידע נוסף.
  3. ניקוי פרטי הכניסה לשחזור: כשמשתמש מתנתק מהאפליקציה, צריך למחוק את פרטי הכניסה המשויכים לשחזור.

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

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

הטמעה

ה-API לשחזור פרטי כניסה זמין דרך ספריית Credential Manager Jetpack. תחילה, מבצעים את הפעולות הבאות:

  1. מוסיפים את התלות של Credential Manager לפרויקט.

    // build.gradle.kts
    implementation("androidx.credentials:credentials:1.5.0-alpha03")
    
  2. יוצרים אובייקט CreateRestoreCredentialRequest.

  3. מבצעים קריאה ל-method‏ createCredential() באובייקט CredentialManager.

    val credentialManager = CredentialManager.create(context)
    
    // On a successful authentication create a Restore Key
    // Pass in the context and CreateRestoreCredentialRequest object
    val response = credentialManager.createCredential(context, createRestoreRequest)
    

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

  4. כשמשתמש מגדיר מכשיר חדש, קוראים למתודה getCredential() באובייקט CredentialManager.

    // Fetch the Authentication JSON from server
    val authenticationJson = fetchAuthenticationJson()
    
    // Create the GetRestoreCredentialRequest object
    val options = GetRestoreCredentialOption(authenticationJson)
    val getRequest = GetCredentialRequest(listOf(options))
    
    // The restore key can be fetched in two scenarios to
    // 1. On the first launch of app on the device, fetch the Restore Key
    // 2. In the onRestore callback (if the app implements the Backup Agent)
    val response = credentialManager.getCredential(context, getRequest)
    
  5. כשהמשתמש מתנתק מהאפליקציה, צריך להפעיל את השיטה clearCredentialState() באובייקט CredentialManager.

    // Create a ClearCredentialStateRequest object
    val clearRequest = ClearCredentialStateRequest(TYPE_CLEAR_RESTORE_CREDENTIAL)
    
    // On user log-out, clear the restore key
    val response = credentialManager.clearCredentialState(clearRequest)
    

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