כניסה באמצעות חשבון Google ל-iOS ול-macOS

לפני שתוכלו להתחיל לשלב את האפליקציה ל-iOS או ל-macOS עם הרכיבים של כניסה באמצעות חשבון Google, עליכם להוריד את יחסי התלות ולהגדיר את פרויקט Xcode. השלבים שמפורטים בדף הזה עוזרים לכם לעשות זאת. בשלבים הבאים מוסבר איך לשלב את התכונות של כניסה באמצעות חשבון Google באפליקציה.

לפני שמתחילים

מתקינים את הגרסה העדכנית של Xcode.

התקנת יחסי התלות של הכניסה באמצעות חשבון Google בפרויקט

CocoaPods

  1. אם עדיין לא התקנתם את CocoaPods, פועלים לפי השלבים שמפורטים במדריך תחילת העבודה ב-CocoaPods.

  2. פותחים חלון טרמינל ומנווטים למיקום של פרויקט Xcode של האפליקציה.

  3. אם עדיין לא יצרתם Podfile לאפליקציה, עליכם ליצור אותו עכשיו:

    pod init

  4. פותחים את קובץ ה-Podfile שנוצר לאפליקציה ומוסיפים את הקוד הבא:

    pod 'GoogleSignIn'

  5. אם אתם משתמשים ב-SwiftUI, צריך להוסיף גם את תוסף ה-pod של הלחצן 'כניסה באמצעות חשבון Google':

    pod 'GoogleSignInSwiftSupport'

  6. שמירת הקובץ והפעלה:

    pod install

  7. פותחים את קובץ workspace של .xcworkspace שנוצר עבור האפליקציה ב-Xcode. יש להשתמש בקובץ הזה בשביל כל פיתוח באפליקציה בעתיד. (הערה: זה שונה מקובץ הפרויקט .xcodeproj שכלול, שגורם לשגיאות build כשהוא נפתח).

    דוגמה לכך מופיעה ב-Podfile של אפליקציית Objective-C לדוגמה.

Swift Package Manager

  1. פותחים את הפרויקט ב-Xcode.

  2. מוסיפים לאפליקציה את יחסי התלות של Google Sign-In (מסמכי העזרה של Xcode):

    מאגר https://github.com/google/GoogleSignIn-iOS
    גרסה 7.0.0
    חבילת מוצרים GoogleSignIn
  3. אם אתם משתמשים ב-SwiftUI, צריך להוסיף גם את חבילת המוצרים הבאה של התוסף ללחצן 'כניסה באמצעות חשבון Google':

    חבילת מוצרים GoogleSignInSwift

אחזור של מזהה לקוח ב-OAuth

לאפליקציה נדרש מזהה לקוח ב-OAuth כדי לזהות את עצמה לקצה העורפי של אימות Google. באפליקציות ל-iOS ול-macOS, צריך להגדיר את סוג האפליקציה של מזהה הלקוח ב-OAuth בתור iOS.

אם עדיין לא יצרתם מספר לקוח OAuth, תוכלו ללחוץ על הלחצן שבהמשך כדי לעשות זאת.

יצירת מזהה לקוח ב-OAuth

אחרי שיוצרים את מזהה הלקוח ב-OAuth, חשוב לשים לב למחרוזת של מזהה הלקוח, שתצטרכו כדי להגדיר את 'כניסה באמצעות חשבון Google' באפליקציה. אפשר גם להוריד את קובץ התצורה, שמכיל את מזהה הלקוח ונתוני תצורה אחרים, לשימוש עתידי.

אם כבר יצרתם מזהה לקוח OAuth, תוכלו למצוא את פרטי ה-OAuth הקיימים בלחיצה על הלחצן שבהמשך.

אחזור של מזהה לקוח קיים ב-OAuth

אחזור של מזהה לקוח של שרת OAuth

ברוב האפליקציות תצטרכו להעביר את הזהות של המשתמשים שנכנסו לחשבון לשירות לקצה העורפי מסוג כלשהו. כדי להעביר בצורה מאובטחת את הזהות של משתמשים שנכנסו באמצעות חשבון Google לקצה העורפי, משתמשים באסימונים מזהים, כפי שמתואר בקטע אימות באמצעות שרת לקצה עורפי. כדי לאחזר אסימון מזהה של משתמש, נדרש מזהה לקוח שני – מזהה הלקוח של השרת – שמייצג את הקצה העורפי.

כדי ליצור מזהה לקוח של שרת:

  1. פותחים את הפרויקט במסוף Cloud.

  2. יוצרים מזהה לקוח 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.