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

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

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

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

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

    คุณสามารถดูตัวอย่างได้จาก 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 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 ที่มีอยู่เดิมในคอนโซลระบบคลาวด์ เช่น 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 ได้