FIDO2 API ל-Android

קל לארגן דפים בעזרת אוספים אפשר לשמור ולסווג תוכן על סמך ההעדפות שלך.

ה-FIDO2 API מאפשר לאפליקציות ל-Android ליצור פרטי כניסה ציבוריים חזקים ומאומתים לצורך אימות המשתמשים. ה-API מטמיע הטמעה של WebAuthn Client שתומך במאמתי BLE, NFC ונדידה ב-USB (מפתחות אבטחה) וגם במאמת מכשירים בפלטפורמה, שמאפשר יש לאמת את המשתמש באמצעות טביעת אצבע או נעילת מסך.

שילוב

נקודת הכניסה של FIDO2 API היא Fido2ApiClient.

ה-API תומך בשתי פעולות:

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

גם הרשמה וגם חתימה מצריכים אינטראקציה עם המשתמש.

אפליקציה לדוגמה שמדגימה את השימוש ב-API זמינה בכתובת https://github.com/android/security-samples/tree/Master/Fido.

יכולת פעולה הדדית עם האתר

קל לאפשר למשתמשים לשתף פרטי כניסה בקלות באתר ובאפליקציית Android. לשם כך, השתמשו בקישורים לנכס הדיגיטלי. יש לך אפשרות להצהיר על שיוך על ידי אירוח קובץ JSON עם Digital Asset Links באתר שלך, והוספת קישור לקובץ Digital Asset Links למניפסט של האפליקציה.

לדוגמה, אם רוצים לשייך את https://example.com לאפליקציה ל-Android com.example.android, פועלים לפי 3 השלבים הבאים:

שלב 1. אירוח הדומיין assetlinks.json בדומיין שלך

יש ליצור קובץ JSON באופן כזה ולאחסן אותו בכתובת https://example.com/.well-known/assetlinks.json.

[
  {
    "relation" : [
      "delegate_permission/common.handle_all_urls",
      "delegate_permission/common.get_login_creds"
    ],
    "target" : {
      "namespace" : "web",
      "site" : "https://example.com"
    }
  },
  {
    "relation" : [
      "delegate_permission/common.handle_all_urls",
      "delegate_permission/common.get_login_creds"
    ],
    "target" : {
      "namespace" : "android_app",
      "package_name" : "com.example.android",
      "sha256_cert_fingerprints" : [
         "DE:AD:BE:EF"
      ]
    }
  }
]

צריך לוודא שניתן לסרוק אותה מ-Google ושהיא מוצגת עם כותרת HTTP Content-Type: application/json.

sha256_cert_fingerprints הוא טביעות האצבע SHA256 של אישור החתימה של האפליקציה שלך. פרטים נוספים זמינים בתיעוד בנושא קישורים לאפליקציות ל-Android.

באפליקציה ל-Android, יש להוסיף את השורה הבאה לקובץ המניפסט בקטע <application>:

<meta-data android:name="asset_statements" android:resource="@string/asset_statements" />

שלב 3. הוספת משאב מחרוזת asset_statements לקובץstringsxml.

המחרוזת asset_statements היא אובייקט JSON המציינת את assetlinks.json הקבצים לטעינה. יש להשתמש בתווי בריחה (escape) במירכאות ובמירכאות. למשל:

<string name="asset_statements" translatable="false">
[{
  \"include\": \"https://example.com/.well-known/assetlinks.json\"
}]
</string>

למידע נוסף על שיוך האפליקציה לאתר, יש לקרוא את התיעוד של SmartLock לסיסמאות ב-Android.