เริ่มต้นใช้งาน Google Sign-In สําหรับ iOS และ macOS

ก่อนที่จะเริ่มผสานรวมแอป iOS หรือ macOS กับคอมโพเนนต์ Google Sign-In คุณต้องดาวน์โหลดทรัพยากร Dependency และกําหนดค่าโปรเจ็กต์ Xcode ขั้นตอนในหน้านี้ดําเนินการดังกล่าว จากนั้นขั้นตอนต่อไปจะอธิบายวิธีผสานรวมฟีเจอร์ Google Sign-In ไว้ในแอป

ก่อนเริ่มต้น

ติดตั้ง Xcode เวอร์ชันปัจจุบัน

ติดตั้งทรัพยากร Dependency ของ Google Sign-In ในโปรเจ็กต์

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 ที่รวมอยู่ ซึ่งจะส่งผลให้เกิดข้อผิดพลาดในบิลด์เมื่อเปิด)

    ดูตัวอย่างได้ที่ Podfile ของแอป Objective-C

ผู้จัดการแพ็กเกจ Swift

  1. เปิดโปรเจ็กต์ใน Xcode

  2. เพิ่มทรัพยากร Dependency ของ Google Sign-In ในแอป (เอกสารประกอบเกี่ยวกับ Xcode)

    ที่เก็บ https://github.com/google/GoogleSignIn-iOS
    เวอร์ชัน 6.0.2
    ผลิตภัณฑ์แพ็กเกจ Google Sign-In
  3. หากใช้ SwiftUI ให้เพิ่มผลิตภัณฑ์แพ็กเกจส่วนขยายต่อไปนี้สําหรับปุ่ม "ลงชื่อเข้าใช้ด้วย Google" ด้วย

    ผลิตภัณฑ์แพ็กเกจ GoogleSignInwift

ดูรหัสไคลเอ็นต์ OAuth

แอปของคุณต้องใช้รหัสไคลเอ็นต์ OAuth เพื่อระบุตัวเองกับแบ็กเอนด์การตรวจสอบสิทธิ์ของ Google สําหรับแอป iOS และ macOS คุณต้องกําหนดค่าประเภทแอปพลิเคชันรหัสไคลเอ็นต์ OAuth เป็น iOS

หากยังไม่ได้สร้างรหัสไคลเอ็นต์ OAuth ให้คลิกปุ่มด้านล่างเพื่อสร้าง

สร้างรหัสไคลเอ็นต์ OAuth

หลังจากสร้างรหัสไคลเอ็นต์ OAuth แล้ว ให้สังเกตสตริงรหัสไคลเอ็นต์ ซึ่งคุณจะต้องกําหนดค่า Google Sign-In ในแอป (ไม่บังคับ) คุณสามารถดาวน์โหลดไฟล์การกําหนดค่าซึ่งมีรหัสไคลเอ็นต์และข้อมูลการกําหนดค่าอื่นๆ สําหรับการอ้างอิงในอนาคตได้

หากสร้างรหัสไคลเอ็นต์ OAuth ไว้แล้ว คุณจะดูข้อมูล OAuth ที่มีอยู่ได้โดยคลิกปุ่มด้านล่าง

รับรหัสไคลเอ็นต์ OAuth ที่มีอยู่

ดูรหัสไคลเอ็นต์ของเซิร์ฟเวอร์ OAuth

แอปส่วนใหญ่จะต้องส่งข้อมูลประจําตัวของผู้ใช้ที่ลงชื่อเข้าใช้ไปยังบริการแบ็กเอนด์บางประเภท หากต้องการส่งข้อมูลประจําตัวของผู้ใช้ที่ลงชื่อเข้าใช้ Google ไปยังแบ็กเอนด์ของคุณอย่างปลอดภัย ให้ใช้โทเค็นรหัสตามที่อธิบายไว้ในตรวจสอบสิทธิ์ด้วยเซิร์ฟเวอร์แบ็กเอนด์ การเรียกโทเค็นรหัสของผู้ใช้จะต้องใช้รหัสไคลเอ็นต์ที่ 2 ซึ่งก็คือรหัสไคลเอ็นต์เซิร์ฟเวอร์ ซึ่งแสดงถึงแบ็กเอนด์ของคุณ

วิธีสร้างรหัสไคลเอ็นต์ของเซิร์ฟเวอร์

  1. เปิดโปรเจ็กต์ใน Cloud Console

  2. สร้างรหัสไคลเอ็นต์ OAuth ประเภทเว็บแอปพลิเคชันใหม่ จดบันทึกสตริงรหัสไคลเอ็นต์ ซึ่งคุณจะต้องกําหนดค่า Google Sign-In ในแอป

กําหนดค่าโปรเจ็กต์แอปพลิเคชัน

Google Sign-In กําหนดให้คุณต้องกําหนดค่าโปรเจ็กต์ด้วยรหัสไคลเอ็นต์ OAuth และรูปแบบ URL ที่กําหนดเอง นอกจากนี้ คุณยังเพิ่มรหัสไคลเอ็นต์ของเซิร์ฟเวอร์สําหรับการตรวจสอบสิทธิ์แบ็กเอนด์ หรือเพิ่มประสิทธิภาพแอปสําหรับโดเมน Google Workspace ได้ด้วย

เพิ่มรหัสไคลเอ็นต์ OAuth และรูปแบบ URL ที่กําหนดเอง

อัปเดตไฟล์ Info.plist ของแอปเพื่อเพิ่มรหัสไคลเอ็นต์ OAuth และสกีม URL ที่กําหนดเองตามรหัสไคลเอ็นต์ที่ถูกย้อนกลับ

รหัสไคลเอ็นต์ที่ย้อนกลับคือรหัสไคลเอ็นต์ที่มีการเรียงลําดับช่องที่มีการคั่นด้วยจุด นอกจากนี้ หมายเหตุจะปรากฏใน "รูปแบบ URL ของ iOS" เมื่อเลือกไคลเอ็นต์ 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 ตั้งแต่แรกเพื่อจัดเก็บข้อมูลเข้าสู่ระบบผ่านคีย์เชน

ขั้นตอนถัดไป

เมื่อดาวน์โหลดทรัพยากร Dependency ของโปรเจ็กต์และกําหนดค่าโปรเจ็กต์ Xcode แล้ว คุณจะเพิ่ม Google Sign-In ลงในแอป iOS ได้