כניסה באמצעות חשבון 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, צריך להוסיף גם את תוסף רצף המודעות ללחצן 'כניסה באמצעות חשבון Google':

    pod 'GoogleSignInSwiftSupport'

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

    pod install

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

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

מנהל חבילות Swift

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

  2. מוסיפים את יחסי התלות של כניסה באמצעות חשבון Google לאפליקציה (מסמכי תיעוד של 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, שימו לב למחרוזת של מזהה הלקוח, ותצטרכו להגדיר אותה באפליקציה שלכם. תוכלו להוריד את קובץ התצורה, שמכיל את מזהה הלקוח ונתוני הגדרה אחרים, לשימוש עתידי.

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

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

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

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

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

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

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