לפני שתוכלו להתחיל לשלב את האפליקציה ל-iOS או ל-macOS עם הרכיבים של כניסה באמצעות חשבון Google, עליכם להוריד את יחסי התלות ולהגדיר את פרויקט Xcode. השלבים שמפורטים בדף הזה עוזרים לכם לעשות זאת. בשלבים הבאים מוסבר איך לשלב את התכונות של כניסה באמצעות חשבון Google באפליקציה.
לפני שמתחילים
מתקינים את הגרסה העדכנית של Xcode.
התקנת יחסי התלות של הכניסה באמצעות חשבון Google בפרויקט
CocoaPods
אם עדיין לא התקנתם את CocoaPods, פועלים לפי השלבים שמפורטים במדריך תחילת העבודה ב-CocoaPods.
פותחים חלון טרמינל ומנווטים למיקום של פרויקט Xcode של האפליקציה.
אם עדיין לא יצרתם Podfile לאפליקציה, עליכם ליצור אותו עכשיו:
pod init
פותחים את קובץ ה-Podfile שנוצר לאפליקציה ומוסיפים את הקוד הבא:
pod 'GoogleSignIn'
אם אתם משתמשים ב-SwiftUI, צריך להוסיף גם את תוסף ה-pod של הלחצן 'כניסה באמצעות חשבון Google':
pod 'GoogleSignInSwiftSupport'
שמירת הקובץ והפעלה:
pod install
פותחים את קובץ workspace של
.xcworkspace
שנוצר עבור האפליקציה ב-Xcode. יש להשתמש בקובץ הזה בשביל כל פיתוח באפליקציה בעתיד. (הערה: זה שונה מקובץ הפרויקט.xcodeproj
שכלול, שגורם לשגיאות build כשהוא נפתח).דוגמה לכך מופיעה ב-Podfile של אפליקציית Objective-C לדוגמה.
Swift Package Manager
פותחים את הפרויקט ב-Xcode.
מוסיפים לאפליקציה את יחסי התלות של Google Sign-In (מסמכי העזרה של Xcode):
מאגר https://github.com/google/GoogleSignIn-iOS
גרסה 7.0.0 חבילת מוצרים GoogleSignIn אם אתם משתמשים ב-SwiftUI, צריך להוסיף גם את חבילת המוצרים הבאה של התוסף ללחצן 'כניסה באמצעות חשבון Google':
חבילת מוצרים GoogleSignInSwift
אחזור של מזהה לקוח ב-OAuth
לאפליקציה נדרש מזהה לקוח ב-OAuth כדי לזהות את עצמה לקצה העורפי של אימות Google. באפליקציות ל-iOS ול-macOS, צריך להגדיר את סוג האפליקציה של מזהה הלקוח ב-OAuth בתור iOS.
אם עדיין לא יצרתם מספר לקוח OAuth, תוכלו ללחוץ על הלחצן שבהמשך כדי לעשות זאת.
אחרי שיוצרים את מזהה הלקוח ב-OAuth, חשוב לשים לב למחרוזת של מזהה הלקוח, שתצטרכו כדי להגדיר את 'כניסה באמצעות חשבון Google' באפליקציה. אפשר גם להוריד את קובץ התצורה, שמכיל את מזהה הלקוח ונתוני תצורה אחרים, לשימוש עתידי.
אם כבר יצרתם מזהה לקוח OAuth, תוכלו למצוא את פרטי ה-OAuth הקיימים בלחיצה על הלחצן שבהמשך.
אחזור של מזהה לקוח קיים ב-OAuth
אחזור של מזהה לקוח של שרת OAuth
ברוב האפליקציות תצטרכו להעביר את הזהות של המשתמשים שנכנסו לחשבון לשירות לקצה העורפי מסוג כלשהו. כדי להעביר בצורה מאובטחת את הזהות של משתמשים שנכנסו באמצעות חשבון Google לקצה העורפי, משתמשים באסימונים מזהים, כפי שמתואר בקטע אימות באמצעות שרת לקצה עורפי. כדי לאחזר אסימון מזהה של משתמש, נדרש מזהה לקוח שני – מזהה הלקוח של השרת – שמייצג את הקצה העורפי.
כדי ליצור מזהה לקוח של שרת:
פותחים את הפרויקט במסוף Cloud.
יוצרים מזהה לקוח OAuth חדש מסוג אפליקציית אינטרנט. חשוב לשים לב למחרוזת של מזהה הלקוח, שתצטרכו כדי להגדיר את הכניסה באמצעות חשבון Google באפליקציה.
הגדרת פרויקט האפליקציה
כדי להשתמש בכניסה באמצעות חשבון Google, צריך להגדיר את הפרויקט עם מזהה לקוח OAuth וסכימה מותאמת אישית של כתובת URL. אפשר גם להוסיף את מזהה הלקוח של השרת לאימות לקצה העורפי או לבצע אופטימיזציה של האפליקציה לדומיין שלכם ב-Google Workspace.
הוספת מזהה הלקוח ב-OAuth וסכימה של כתובת URL מותאמת אישית
מעדכנים את הקובץ Info.plist
של האפליקציה כדי להוסיף את מזהה הלקוח ב-OAuth וסכימה מותאמת אישית של כתובת URL על סמך מזהה הלקוח ההפוך.
מספר הלקוח ההפוך הוא מספר הלקוח שלכם, כאשר הסדר של השדות שממופרדים בנקודות הפוך. הוא מוצג גם בקטע iOS URL scheme כאשר בוחרים לקוח OAuth קיים ל-iOS במסוף Cloud. לדוגמה:
com.googleusercontent.apps.1234567890-abcdefg
<key>GIDClientID</key> <string>YOUR_IOS_CLIENT_ID</string> <key>CFBundleURLTypes</key> <array> <dict> <key>CFBundleURLSchemes</key> <array> <string>YOUR_DOT_REVERSED_IOS_CLIENT_ID</string> </array> </dict> </array>
אופציונלי: מגדירים אימות לקצה העורפי
אם אתם צריכים לקבל אסימונים מזהים של משתמשים לצורך אימות לקצה העורפי, צריך להגדיר גם את המפתח GIDServerClientID
בקובץ Info.plist
של האפליקציה.
<key>GIDServerClientID</key> <string>YOUR_SERVER_CLIENT_ID</string>
אופציונלי: אופטימיזציה לדומיין Google Workspace או למרחב OpenID
משתמשים בפרמטר GIDHostedDomain
כדי לבצע אופטימיזציה של תהליך הכניסה לדומיין של Google Workspace.
<key>GIDHostedDomain</key> <string>YOUR_HOSTED_DOMAIN</string>
משתמשים בפרמטר GIDOpenIDRealm
אם רוצים לציין תחום OpenID.
<key>GIDOpenIDRealm</key> <string>YOUR_OPENID_REALM</string>
חתימה על האפליקציה
כדי לאחסן את פרטי הכניסה דרך צרור המפתחות, האפליקציה צריכה להיות חתומה על ידי אישור שהונפק על ידי Apple כדי שתוכל לפעול באופן מקורי במכשירי macOS ו-iOS.
השלבים הבאים
עכשיו, אחרי שהורדתם את יחסי התלות בפרויקט והגדרתם את הפרויקט ב-Xcode, תוכלו להוסיף את הכניסה באמצעות חשבון Google לאפליקציה ל-iOS.