כניסה באמצעות חשבון 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 כשפותחים אותו.)

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

מנהל חבילות 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 Client-ID. צריך להיות מוגדר כ-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 Client-ID וסכימה של כתובת URL מותאמת אישית על סמך מזהה הלקוח ההפוך.

מזהה הלקוח ההפוך הוא מזהה הלקוח שלך, לפי הסדר של הפורמט המופרד באמצעות נקודות הערכים השתנו. ההגדרה הזו מוצגת גם בקטע 'סכמת כתובת ה-URL של iOS'. כאשר בוחרים לקוח OAuth קיים ב-iOS בענן מסוף. מוצרים לדוגמה: 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.