כדי לשפר את נוחות המשתמשים, כדאי להפעיל שיתוף חלק של פרטי כניסה בפלטפורמות שונות, בין האפליקציות והאתרים שלכם. כשמספר אתרים ואפליקציות ל-Android משתפים צד לקוח לניהול חשבון, התכונה הזו מאפשרת למשתמשים לשמור את פרטי הכניסה פעם אחת, ולהציע אותם באופן אוטומטי בכל אתר מקושר או באפליקציה ל-Android.
יש שתי שיטות נתמכות להגדרת שיתוף פרטי הכניסה:
- Play Console: מומלץ לרוב המפתחים כשמגדירים שיתוף פרטי כניסה עם אפליקציות ל-Android. השיטה הזו מאפשרת להגדיר שיתוף של פרטי הכניסה בלי לפרסם גרסה חדשה של האפליקציה. חשוב לזכור שגם אם משתמשים ב-Play Console, עדיין צריך לפרסם קובץ
assetlinks.jsonתקין באתר. - קישורי נכסים דיגיטליים (DAL): מתאימים לתרחישי שימוש מתקדמים, כמו תמיכה בכמה אפליקציות או דומיינים עם הגדרות מורכבות יותר.
שיטות מומלצות
כדי לשפר את חוויית המשתמש ואת האבטחה, מומלץ להטמיע שיתוף חלק של פרטי הכניסה בנקודות המגע הבאות:
- טופס כניסה: מפעילים מילוי אוטומטי של פרטי הכניסה.
- טופס הרשמה: אחסון מאובטח של פרטי כניסה חדשים לשימוש בפלטפורמות שונות.
- טופס לשינוי סיסמה: סנכרון עדכוני הסיסמאות בכל הפלטפורמות.
- טופס לאיפוס סיסמה: מאפשר איפוס סיסמה יחיד לעדכון כל הפלטפורמות.
- דומיינים של Webview: אפשר להרחיב את שיתוף פרטי הכניסה לדומיינים של Webview באפליקציה שמטפלים בניהול החשבון (טפסים של כניסה, הרשמה, שינוי סיסמה או איפוס סיסמה של המארח).
- אפליקציות ל-Android
הגישה הזו יוצרת מערכת מאוחדת לניהול פרטי הכניסה, שמאפשרת לשפר את הנוחות והאבטחה של המשתמשים.
כשאתם מתכננים אתרים לניהול חשבונות, מומלץ לפעול לפי השיטות המומלצות הבאות לאתרים לניהול חשבונות:
- עיצוב טופס ההרשמה בהתאם לשיטות המומלצות
- עיצוב טופס הכניסה בהתאם לשיטות המומלצות
- הוספת כתובת URL ידועה לשינוי סיסמאות
כשאתם מתכננים אפליקציות ל-Android, מומלץ לשלב את האפליקציה עם Android Credential Manager.
הגדרת שיתוף פרטי הכניסה באמצעות Play Console
עכשיו אפשר להפעיל שיתוף מאובטח של פרטי כניסה ישירות מ-Play Console בלי לפרסם גרסה חדשה של אפליקציית Android. השיטה הזו מפשטת את התהליך על ידי ניהול ההגדרות של שיתוף פרטי הכניסה דרך הממשק של Play Console.
דרישות מוקדמות
לפני שמגדירים שיתוף פרטי כניסה באמצעות Play Console, צריך לוודא שיש לכם:
- ההרשאות הנדרשות ב-Play Console כדי לגשת לקטע קישורי עומק ולקטע הגדרת האפליקציה. אם אתם לא הבעלים של החשבון, עליכם לבקש מהאדמין ב-Play Console להעניק לכם את הגישה המתאימה.
- יכולת לפרסם קובץ
/.well-known/assetlinks.jsonבכל דומיין רלוונטי, בהתאם לתחביר של Digital Asset Links (DAL).
הפעלת שיתוף של פרטי כניסה בדומיין חדש
כדי להגדיר שיתוף מאובטח של פרטי כניסה ב-Play Console לדומיין חדש, פועלים לפי השלבים הבאים:
- פותחים את Play Console ועוברים לדף קישורי עומק (הגדלת מספר המשתמשים > קישורי עומק).
- בכרטיסייה App configuration, לוחצים על Add domain.
- מזינים את הדומיין של האתר.
- מפעילים את המתג Enable credential sharing.
- מעתיקים את קובץ ה-JSON שנוצר ומפרסמים אותו במיקום שצוין (
https://YOUR_DOMAIN/.well-known/assetlinks.jsonבהתאם לפרוטוקול), או מוסיפים את המידע הרלוונטי לקובץ assetlinks.json הקיים. - לוחצים על יצירת שיוך לאתר.
אם הפעולה תתבצע בהצלחה, תוחזרו לדף קישורים עומק.
הפעלת שיתוף של פרטי כניסה לדומיין קיים
כדי להגדיר שיתוף מאובטח של פרטי כניסה ב-Play Console לדומיין קיים, פועלים לפי השלבים הבאים:
- בוחרים בכרטיסייה הגדרת האפליקציה.
- בקטע Domains (דומיינים), בקטע App configuration (הגדרת האפליקציה), לוחצים על Turn on (הפעלה) בעמודה Credential sharing (שיתוף פרטי הכניסה).
- מעתיקים את קובץ ה-JSON שנוצר ומפרסמים אותו במיקום שצוין (או מוסיפים את הפרטים הרלוונטיים לקובץ
assetlinks.jsonהקיים). - לוחצים על הפעלת שיתוף של פרטי כניסה.
אם הפעולה תתבצע בהצלחה, תוחזרו לדף קישורים עומק.
הגדרת שיתוף פרטי כניסה באמצעות קישורי נכסים דיגיטליים (DAL) בלבד
בהגדרות מורכבות שכוללות כמה אפליקציות או אתרים, אפשר להשתמש בקישורים לנכסים דיגיטליים (DAL) כדי להגדיר שיתוף פרטי כניסה באופן ידני.
דרישות מוקדמות
לפני שמגדירים שיתוף פרטי כניסה מאפשר שימוש בלי הפרעות, צריך לוודא שיש לכם את הפריטים הבאים לכל פלטפורמה:
לכל אפליקציה ל-Android:
- מזהה האפליקציה ל-Android, כפי שמוצהר בקובץ
build.gradleשל האפליקציה. - טביעות האצבע מסוג SHA256 של אישור החתימה.
- (מומלץ) כניסת משתמשים שמיושמת באמצעות Credential Manager API.
לכל אתר:
- יכולת לפרסם קובץ
/.well-known/assetlinks.jsonבכל דומיין רלוונטי, בהתאם לתחביר של Digital Asset Links (DAL). - כל הדומיינים לניהול החשבון (דפי כניסה, הרשמה, שינוי סיסמה או טפסים לאיפוס סיסמה) חייבים להיות נגישים דרך HTTPS.
הפעלת שיתוף חלק של פרטי כניסה בין אפליקציות לאתרים ב-Android
כדי להגדיר שיתוף חלק של פרטי כניסה בין אפליקציות לאתרים, צריך ליצור ולפרסם רשימות הצהרות של קישורי נכסים דיגיטליים שמציינות אילו ישויות (אתרים או אפליקציות ל-Android) מורשות לשתף את פרטי הכניסה.
כדי להצהיר על קשר של שיתוף פרטי כניסה:
יוצרים קובץ
assetlinks.jsonעם הצהרות שמקשרות לאתר ולאפליקציה ל-Android, בהתאם לתחביר של רשימת ההצהרות של DALs:[ { "relation":[ "delegate_permission/common.get_login_creds" ], "target":{ "namespace":"web", "site":URL } }, { "relation":[ "delegate_permission/common.get_login_creds" ], "target":{ "namespace":"android_app", "package_name":"APP_ID", "sha256_cert_fingerprints":[ "SHA_HEX_VALUE" ] } } ]כאשר
URLהיא כתובת ה-URL של האתר,APP_IDהוא מזהה האפליקציה ל-Android ו-SHA_HEX_VALUEהיא טביעת האצבע מסוג SHA256 של אישור החתימה של האפליקציה ל-Android.השדה
relationמתאר את הקשר שמוצהר. כדי להצהיר שאפליקציות ואתרים משתפים פרטי כניסה, מציינים את היחסים בתורdelegate_permission/common.get_login_creds. מידע נוסף על מחרוזות יחס ב-DALהשדה
targetהוא אובייקט שמציין את הנכס שאליו ההצהרה רלוונטית.השדות הבאים מזהים אתר:
namespacewebsiteכתובת ה-URL של האתר, בפורמט
https://domain[:optional_port]; לדוגמה, https://www.example.com.השדה
domainחייב להיות מפורט, ו-optional_portחייב להימחק כשמשתמשים ביציאה 443 ל-HTTPS.יעד
siteיכול להיות רק דומיין ברמה הבסיסית (root): אי אפשר להגביל שיוך של אפליקציה לתיקיית משנה ספציפית. אין לכלול נתיב בכתובת ה-URL, כמו קו נטוי בסוף.תת-דומיינים לא נחשבים כתואם: כלומר, אם מציינים את
domainכ-www.example.com, הדומיין www.counter.example.com לא משויך לאפליקציה.השדות הבאים מזהים אפליקציה ל-Android:
מרחב שמות
android_app
package_name
שם החבילה שמוצהר במניפסט של האפליקציה. לדוגמה, com.example.android
sha256_cert_fingerprints
טביעות האצבע מסוג SHA256 של אישור החתימה של האפליקציה.
מארחים את קובץ ה-JSON של Digital Asset Links במיקום הבא בדומיינים של הכניסה:
https://DOMAIN[:OPTIONAL_PORT]/.well-known/assetlinks.json, כאשרDOMAINהוא FQDN, ו-OPTIONAL_PORTצריך להשמיט כשמשתמשים ביציאה 443 ל-HTTPS.כדי להצהיר על השיוך באפליקציה ל-Android, מטמיעים הצהרה בקובץ
res/values/strings.xmlשל האפליקציה ל-Android שמקשרת לרשימה של ההצהרות שיצרתם בשלב 1. מוסיפים אובייקט שמציין את קובציassetlinks.jsonשרוצים לטעון. לדוגמה:<string name="asset_statements" translatable="false"> [{ \"include\": \"https://DOMAIN[:OPTIONAL_PORT]/.well-known/assetlinks.json\" }] </string>מחליפים את
DOMAINו-OPTIONAL_PORT(צריך להשמיט אותם כשמשתמשים ביציאה 443 ל-HTTPS) – לדוגמה,https://www.example.com. צריך להשתמש באסימון בריחה (escape) לכל סימני האפוסטרופיס והמירכאות שבשרשור.אפשר גם להוסיף קטע JSON לקובץ
strings.xml, כפי שמתואר במסמכי התיעוד של DALs, אבל שימוש בהצהרהincludeמאפשר לשנות הצהרות בלי לפרסם גרסה חדשה של האפליקציה.כדי להפנות להצהרה במניפסט, מוסיפים את השורה הבאה לקובץ
AndroidManifest.xmlשל האפליקציה בקטע<application>:<meta-data android:name="asset_statements" android:resource="@string/asset_statements"/>פרסום הגרסה החדשה של אפליקציית Android במסוף הפיתוח של Google Play
אחרי ביצוע השלבים האלה, תהיה לכם אפשרות לשתף פרטי כניסה בצורה חלקה בין האתר לאפליקציה ל-Android.
חשוב לזכור שזו לא הדרך היחידה להגדיר DALs לשיתוף פרטי כניסה, אבל הגישה הזו מפשטת את התהליך העתידי של הוספת ישויות חדשות לרשת השיתוף השוטף של פרטי הכניסה, מעודדת שימוש חוזר בקוד ומפחיתה את הסיכון לשגיאות במהלך עדכונים.