כדי לשפר את נוחות המשתמשים, כדאי להפעיל שיתוף חלק של פרטי כניסה בפלטפורמות שונות, בין האפליקציות והאתרים שלכם. כשמספר אתרים ואפליקציות ל-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.
- מזינים את הדומיין של האתר.
- מפעילים את המתג הפעלת שיתוף של פרטי כניסה.
- מעתיקים את קובץ ה-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
הוא אובייקט שמציין את הנכס שאליו ההצהרה רלוונטית.השדות הבאים מזהים אתר:
namespace
web
site
כתובת ה-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 לשיתוף פרטי כניסה, אבל הגישה הזו מפשטת את התהליך העתידי של הוספת ישויות חדשות לרשת השיתוף השוטף של פרטי הכניסה, מעודדת שימוש חוזר בקוד ומפחיתה את הסיכון לשגיאות במהלך עדכונים.