כדי להתחיל לשלב את האפליקציה ל-iOS או ל-macOS עם רכיבי הכניסה באמצעות חשבון Google, צריך להוריד את יחסי התלות ולהגדיר את פרויקט Xcode. השלבים בדף הזה בדיוק בשביל זה. השלבים הבאים מתארים איך לשלב תכונות של כניסה באמצעות חשבון Google באפליקציה.
לפני שמתחילים
מתקינים גרסה עדכנית של Xcode.
התקנת יחסי תלות של כניסה באמצעות חשבון Google בפרויקט
CocoaPods
אם עדיין לא התקנתם את CocoaPods, פעלו לפי השלבים המפורטים במדריך תחילת העבודה של CocoaPods.
פותחים חלון טרמינל ומנווטים למיקום של פרויקט ה-Xcode של האפליקציה.
אם עדיין לא יצרתם Podfile לאפליקציה, תוכלו ליצור אותו עכשיו:
pod init
פותחים את ה-Podfile שנוצר לאפליקציה ומוסיפים את הקוד הבא:
pod 'GoogleSignIn'
אם משתמשים ב-SwiftUI, צריך להוסיף גם את תוסף רצף המודעות ללחצן 'כניסה באמצעות חשבון Google':
pod 'GoogleSignInSwiftSupport'
שומרים את הקובץ ומפעילים אותו:
pod install
פותחים את קובץ
.xcworkspace
workspace שנוצר עבור האפליקציה ב-Xcode. יש להשתמש בקובץ הזה בשביל כל פיתוח באפליקציה בעתיד. (שימו לב שהקובץ הזה שונה מקובץ הפרויקט מסוג.xcodeproj
הכלול, מכיוון שפתיחת הפרויקט תגרום לשגיאות build).תוכלו להיעזר ב-Podfile של האפליקציה לדוגמה של אובייקט-C.
מנהל חבילות Swift
פותחים את הפרויקט ב-Xcode.
מוסיפים את יחסי התלות של כניסה באמצעות חשבון Google לאפליקציה (מסמכי תיעוד של Xcode):
מאגר https://github.com/google/GoogleSignIn-iOS
גרסה 7.0.0 מוצר בחבילה GoogleSignIn אם אתה משתמש ב-SwiftUI, הוסף גם את מוצר חבילת התוספים הבא עבור הלחצן 'כניסה באמצעות Google':
מוצר בחבילה GoogleSignInSwift
קבלת מזהה לקוח ב-OAuth
האפליקציה שלכם צריכה מזהה לקוח ב-OAuth כדי להזדהות לקצה העורפי של האימות של Google. באפליקציות ל-iOS ול-macOS, צריך להגדיר את סוג האפליקציה 'מזהה לקוח OAuth' כ-iOS.
אם עדיין לא יצרתם מזהה לקוח OAuth, לחצו על הלחצן שלמטה כדי לעשות זאת.
אחרי שיצרתם מזהה לקוח ב-OAuth, שימו לב למחרוזת של מזהה הלקוח, ותצטרכו להגדיר אותה באפליקציה שלכם. תוכלו להוריד את קובץ התצורה, שמכיל את מזהה הלקוח ונתוני הגדרה אחרים, לשימוש עתידי.
אם כבר יצרתם מזהה לקוח ב-OAuth, תוכלו למצוא את פרטי ה-OAuth הקיימים שלכם בלחיצה על הלחצן שלמטה.
קבלת מזהה לקוח של שרת OAuth
רוב האפליקציות יצטרכו להעביר את הזהות של משתמשים מחוברים לשירות לקצה העורפי מסוג כלשהו. כדי להעביר באופן מאובטח את הזהות של משתמשים שנכנסו באמצעות חשבון Google לקצה העורפי שלכם, צריך להשתמש באסימונים מזהים, כפי שמוסבר במאמר אימות באמצעות שרת קצה עורפי. כדי לאחזר אסימון מזהה של משתמש, נדרש מזהה לקוח שני – מזהה הלקוח שלכם בשרת – שמייצג את הקצה העורפי.
כך יוצרים מזהה לקוח של שרת:
פותחים את הפרויקט במסוף Cloud.
יוצרים מזהה לקוח חדש ב-OAuth מסוג אפליקציית אינטרנט. שימו לב למחרוזת של מזהה הלקוח, שתזדקקו לה כדי להגדיר כניסה באמצעות חשבון Google באפליקציה.
הגדרה של פרויקט האפליקציה
כדי להשתמש בכניסה באמצעות חשבון Google, הפרויקט צריך להיות מוגדר באמצעות מזהה הלקוח ב-OAuth וסכימה של כתובת URL מותאמת אישית. אפשר גם להוסיף את מזהה הלקוח של השרת לצורך אימות קצה עורפי או לבצע אופטימיזציה של האפליקציה לדומיין ב-Google Workspace.
הוספת מזהה לקוח ב-OAuth וסכימה של כתובת URL מותאמת אישית
צריך לעדכן את הקובץ Info.plist
של האפליקציה כדי להוסיף את מזהה הלקוח ב-OAuth וסכימה של כתובות URL מותאמות אישית על סמך מזהה הלקוח ההפוך.
ה-Client-ID ההפוך הוא מזהה הלקוח שלכם, כאשר הסדר של השדות המופרדים בנקודות
הופך. המידע הזה מוצג גם בקטע 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.