FIDO2 API מאפשר לאפליקציות ל-Android ליצור פרטי כניסה מבוססי-מפתח ציבוריים וחזקים ומאומתים, כדי לאמת משתמשים. ה-API כולל הטמעת WebAuthn Client, שתומכת בשימוש באימותי נדידה (מפתחות אבטחה) מסוג BLE, NFC ו-USB, וגם בשירות לאימות פלטפורמה, שמאפשר למשתמשים לבצע אימות באמצעות טביעת האצבע או נעילת המסך.
שילוב
נקודת הכניסה של FIDO2 API היא Fido2ApiClient.
ממשק ה-API תומך בשתי פעולות:
- הרישום מתבצע פעם אחת לכל מאמת החשבונות לכל חשבון, כשהמשתמש משייך את מאמת החשבונות לחשבון.
- חתימה מתבצעת בכל פעם שהצד הנסמך רוצה לאמת משתמש.
ההרשמה והחתימה דורשות אינטראקציה מצד המשתמש.
ניתן למצוא אפליקציה לדוגמה שמדגימה את השימוש ב-API בכתובת https://github.com/android/identity-samples/tree/main/Fido2.
שילוב עם האתר שלכם
קל לאפשר למשתמשים לשתף את פרטי הכניסה בצורה חלקה באתר ובאפליקציה ל-Android. לשם כך, משתמשים בקישורים לנכסים דיגיטליים. אפשר להצהיר על שיוכים על ידי אירוח קובץ JSON של Digital Asset Links באתר שלכם, והוספת קישור לקובץ Digital Asset Link למניפסט של האפליקציה.
לדוגמה, אם רוצים לשייך את 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.
שלב 2. קישור אל assetlinks.json
באפליקציה ל-Android
באפליקציה ל-Android, מוסיפים את השורה הבאה לקובץ המניפסט בקטע <application>
:
<meta-data android:name="asset_statements" android:resource="@string/asset_statements" />
שלב 3. הוסף משאב של מחרוזת asset_statements
לקובץ string.xml
המחרוזת asset_statements
היא אובייקט JSON שמציין את הקבצים assetlinks.json
שיש לטעון. צריך לצאת מכל גרש או מירכאות שבהם משתמשים במחרוזת. למשל:
<string name="asset_statements" translatable="false">
[{
\"include\": \"https://example.com/.well-known/assetlinks.json\"
}]
</string>
מידע נוסף על שיוך האפליקציה לאתר זמין במאמר תיעוד של SmartLock לסיסמאות ב-Android.