ה-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.
שלב 2. קישור אל assetlinks.json
באפליקציה ל-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.