כדי למקסם את נוחות המשתמשים, אפשר להפעיל שיתוף של פרטי הכניסה בפלטפורמות שונות ובצורה חלקה באפליקציות ובאתרים שלכם. כשמספר אתרים ואפליקציות ל-Android משתפים קצה עורפי של ניהול חשבון, שמאפשר למשתמשים לשמור פרטי כניסה פעם אחת והם יוצעו באופן אוטומטי בכל אתר מקושר או אפליקציה ל-Android מקושרת.
שיטות מומלצות
כדי שחוויית המשתמש ואבטחה תהיה אופטימלית, מומלץ להטמיע שיתוף חלק של פרטי הכניסה בכל נקודות המגע האלה עם הלקוח:
- טופס כניסה: הפעלת מילוי אוטומטי של פרטי כניסה.
- טופס הרשמה: אחסון מאובטח של פרטי כניסה חדשים לשימוש בפלטפורמות שונות.
- טופס שינוי סיסמה: סנכרון עדכוני הסיסמאות בכל הפלטפורמות.
- טופס לאיפוס סיסמה: מאפשרים איפוסי סיסמה יחידה כדי לעדכן את כל הפלטפורמות.
- דומיינים של WebView: הרחבת השיתוף של פרטי הכניסה לדומיינים של WebView בתוך האפליקציה שמטפלת בניהול החשבונות (כניסה למארח, הרשמה, סיסמה שינוי סיסמה או טפסים לאיפוס סיסמה).
- אפליקציות ל-Android
הגישה הזאת יוצרת מערכת מאוחדת לניהול פרטי כניסה, שמשפרת מבחינת הנוחות והאבטחה של המשתמשים.
כשמעצבים את האתרים לניהול החשבון, מומלץ לפעול לפי ההנחיות הבאות שיטות מומלצות לאתרים לניהול חשבון:
- מעצבים את טופס ההרשמה בהתאם לשיטות המומלצות
- עיצוב טופס הכניסה בהתאם לשיטות המומלצות
- הוספת כתובת URL ידועה לשינוי סיסמאות
כשאתם מתכננים אפליקציות ל-Android, מומלץ לשלב אותו עם Android Credential Manager.
דרישות מוקדמות
לפני שמגדירים שיתוף חלק של פרטי כניסה, צריך לוודא את הדברים הבאים עבור בכל פלטפורמה:
לכל אפליקציה ל-Android:
- מזהה האפליקציה ל-Android, כפי שהוצהר בקובץ
build.gradle
של האפליקציה. - טביעות האצבע מסוג SHA256 של אישור החתימה.
- (מומלץ) כניסת משתמש הוטמעה באמצעות Credential Manager API.
לכל אתר:
- יכולת לפרסם קובץ
/.well-known/assetlinks.json
בכל אחד מהמכשירים המתאימים מופיע בהתאם לתחביר של Digital Asset Links (DALs). - כל הדומיינים לניהול החשבון (כניסה, הרשמה, שינוי סיסמה או סיסמה טופסי איפוס) חייבים להיות נגישים באמצעות 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
מידע נוסף על Relation Strings ב-DALs.השדה
target
הוא אובייקט שמציין את הנכס שההצהרה חל על.השדות הבאים מזהים אתר:
namespace
web
site
כתובת האתר, בפורמט
https://domain[:optional_port
]; לדוגמה, https://www.example.com.domain
צריך להיות מוגדר במלואו, וצריך להשמיט אתoptional_port
כשמשתמשים ביציאה 443 ל-HTTPS.יעד
site
יכול להיות רק דומיין בסיסי: לא ניתן להגביל שיוך אפליקציה לספריית משנה ספציפית. אין לכלול נתיב בכתובת ה-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
הוא הסמכה מלאה, וכן צריך להשמיט את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
. בריחה מהגרשים והמירכאות שבהן משתמשים במחרוזת.אפשר גם להוסיף קטע קוד של JSON לקובץ
strings.xml
כפי שמוצג ב- מסמכי התיעוד של DAL, אבל השימוש בהצהרהinclude
מאפשר לך לשנות הצהרות בלי לפרסם גרסה חדשה של האפליקציה.יש להפנות להצהרה במניפסט על ידי הוספת השורה הבאה אל קובץ
AndroidManifest.xml
של האפליקציה בדומיין<application>
:<meta-data android:name="asset_statements" android:resource="@string/asset_statements"/>
מפרסמים את הגרסה החדשה של האפליקציה ל-Android למפתחים ב-Google Play מסוף
אחרי שתבצעו את השלבים האלה, תוכלו להגדיר את פרטי הכניסה בצורה חלקה לשתף בין האתר שלכם לאפליקציה ל-Android.
שימו לב שזו לא הדרך התקינה היחידה להגדיר DAL לשיתוף של פרטי כניסה. אבל הגישה הזו מפשטת את התהליך העתידי של הוספת ישויות חדשות רשת חלקה לשיתוף פרטי כניסה, מקדמת שימוש חוזר בקוד ומצמצמת את הפוטנציאל לשגיאות במהלך העדכונים.