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