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