תכונות של ARCore כמו Geospatial API ו-Cloud Anchors משתמשות ב-ARCore API שמארח ב-Google Cloud. בזמן השימוש בתכונות האלה, האפליקציה שלכם משתמשת בפרטי כניסה כדי לגשת לשירות ARCore API.
במדריך למתחילים הזה מוסבר איך להגדיר את האפליקציה כך שהיא תוכל לתקשר עם שירות ARCore API שמתארח ב-Google Cloud.
יוצרים פרויקט חדש ב-Google Cloud או משתמשים בפרויקט קיים
אם יש לכם פרויקט קיים, בוחרים אותו.
אם אין לכם פרויקט קיים ב-Google Cloud, צרו פרויקט.
הפעלת ARCore API
כדי להשתמש ב-ARCore API, צריך להפעיל אותו בפרויקט.
הגדרת שיטת הרשאה
אפליקציה ל-iOS יכולה לתקשר עם ARCore API באמצעות שתי שיטות הרשאה שונות: הרשאה ללא מפתח, שהיא השיטה המומלצת, והרשאה באמצעות מפתח API:
- הרשאה ללא מפתח משתמשת באסימון חתום כדי לשלוט בגישה ל-API. השיטה הזו דורשת שרת בבעלותכם כדי לחתום על טוקנים ולשלוט בגישה ל-API.
- מפתח API הוא מחרוזת שמזהה פרויקט בענן של Google. מפתחות API בדרך כלל לא נחשבים מאובטחים כי לרוב יש ללקוחות גישה אליהם. כדאי להשתמש בהרשאת אסימון כדי לתקשר עם ARCore API.
ללא מפתח
ARCore תומך בהרשאה של קריאות ל-API ב-iOS באמצעות JSON Web Token. הטוקן צריך להיות חתום על ידי חשבון שירות של Google.
כדי ליצור אסימונים ל-iOS, צריך להגדיר בשרת נקודת קצה שעומדת בדרישות הבאות:
מנגנון ההרשאה שלכם צריך להגן על נקודת הקצה.
נקודת הקצה צריכה ליצור טוקן חדש בכל פעם, כך ש:
- כל משתמש מקבל אסימון ייחודי.
- התוקף של הטוקנים לא פג באופן מיידי.
יצירת חשבון שירות ומפתח חתימה
כדי ליצור חשבון שירות של Google ומפתח חתימה:
- ב-Google Cloud, פותחים את הדף Credentials.
Credentials - לוחצים על Create Credentials > Service account (יצירת אמצעי אימות > חשבון שירות).
- בקטע פרטי חשבון שירות, מקלידים שם לחשבון החדש ולוחצים על יצירה.
- בדף Service account permissions (הרשאות לחשבון שירות), עוברים לתפריט הנפתח Select a role (בחירת תפקיד). בוחרים באפשרות Service Accounts > Service Account Token Creator (חשבונות שירות > יצירת אסימונים בחשבון שירות) ולוחצים על Continue (המשך).
- בדף Grant users access to this חשבון שירות, לוחצים על Done.
- בדף Credentials, מוצאים את הקטע Service Accounts ולוחצים על שם החשבון שיצרתם.
- בדף Service account details, גוללים למטה לקטע Keys ובוחרים באפשרות Add Key > Create new key.
בוחרים באפשרות JSON בתור סוג המפתח ולוחצים על Create.
קובץ JSON שמכיל את המפתח הפרטי יורד למחשב שלכם. מאחסנים את קובץ מפתח ה-JSON שהורדתם במיקום מאובטח.
יצירת טוקנים בשרת
כדי ליצור אסימונים חדשים (JWT) בשרת, משתמשים בספריות JWT רגילות ובקובץ ה-JSON שהורדתם בצורה מאובטחת מחשבון השירות החדש.
יצירת אסימונים במחשב הפיתוח
כדי ליצור אסימוני JWT במחשב הפיתוח, משתמשים בפקודה oauth2l הבאה:
oauth2l fetch --cache "" --jwt --json $KEYFILE --audience "https://arcore.googleapis.com/"
כדי להבטיח שיופק טוקן שונה בכל פעם, צריך לציין מיקום ריק במטמון באמצעות הסימון --cache. חשוב לקצץ את המחרוזת שמתקבלת. רווחים מיותרים או תווי שורה חדשה יגרמו לדחיית הטוקן על ידי ה-API.
חתימה על הטוקן
כדי לחתום על ה-JWT, צריך להשתמש באלגוריתם RS256 ובהצהרות הבאות:
-
iss– כתובת האימייל בחשבון השירות. -
sub– כתובת האימייל בחשבון השירות. -
iat– חותמת הזמן של מערכת Unix שבה נוצר האסימון, בשניות. -
exp—iat+3600(שעה אחת). חותמת הזמן של מערכת Unix שבה יפוג תוקף האסימון, בשניות. -
aud– הקהל. הערך חייב להיותhttps://arcore.googleapis.com/.
לא נדרשות הצהרות לא סטנדרטיות במטען הייעודי (payload) של JWT, אבל יכול להיות שההצהרה uid תהיה שימושית לזיהוי המשתמש המתאים.
אם אתם משתמשים בגישה אחרת כדי ליצור את אסימוני ה-JWT, למשל באמצעות Google API בסביבה שמנוהלת על ידי Google, הקפידו לחתום על אסימוני ה-JWT עם ההצהרות שמופיעות בקטע הזה. קודם כול, חשוב לוודא שהקהל נכון.
העברת האסימון בסשן ARCore
האפליקציה שלכם מוגדרת עכשיו לשימוש באימות ללא מפתח.
כשמעבירים טוקן לסשן, חשוב לשים לב לנקודות הבאות:
אם השתמשתם במפתח API כדי ליצור את הסשן, ARCore יתעלם מהאסימון וירשום שגיאה.
אם כבר לא צריך את מפתח ה-API, אפשר למחוק אותו ב-Google Developers Console ולהסיר אותו מהאפליקציה.
ARCore מתעלם מטוקנים שמכילים רווחים או תווים מיוחדים.
התוקף של האסימונים פג בדרך כלל אחרי שעה אחת. אם יש סיכוי שהטוקן יפוג במהלך השימוש, צריך לקבל טוקן חדש ולהעביר אותו ל-API.
מפתח API
- ב-Google Cloud, פותחים את הדף Credentials.
Credentials - לוחצים על Create credentials ובתפריט בוחרים באפשרות API key.
תיבת הדו-שיח API key created מציגה את המחרוזת של המפתח החדש שיצרתם. - כדי לאבטח את מפתח ה-API, כדאי לעיין במסמכי התיעוד בנושא הגבלות על מפתחות API.
האפליקציה שלכם מוגדרת עכשיו לשימוש במפתחות API.
המאמרים הבאים
אחרי שמגדירים הרשאה, אפשר לבדוק את התכונות הבאות של ARCore שמשתמשות בה: