ก่อนที่จะเริ่มผสานรวมแอป iOS หรือ macOS กับคอมโพเนนต์ Google Sign-In คุณต้องดาวน์โหลดทรัพยากร Dependency และกำหนดค่าโปรเจ็กต์ Xcode ก่อน ขั้นตอนในหน้านี้ จะช่วยคุณได้ ขั้นตอนถัดไปคือวิธีผสานรวม ฟีเจอร์ Google Sign-In ในแอปของคุณ
ก่อนเริ่มต้น
ติดตั้ง Xcode เวอร์ชันปัจจุบัน
ติดตั้งทรัพยากร Dependency ของ Google Sign-In ในโปรเจ็กต์
CocoaPods
หากยังไม่ได้ติดตั้ง CocoaPods ให้ทำตามขั้นตอนในคู่มือเริ่มต้นใช้งานสำหรับ CocoaPods
เปิดหน้าต่างเทอร์มินัลและไปที่ตำแหน่งโปรเจ็กต์ Xcode ของแอป
หากคุณยังไม่ได้สร้าง Podfile สำหรับแอปพลิเคชัน ให้สร้างขึ้นใหม่เดี๋ยวนี้
pod init
เปิด Podfile ที่สร้างขึ้นสำหรับแอปพลิเคชันแล้วเพิ่มข้อมูลต่อไปนี้
pod 'GoogleSignIn'
หากคุณใช้ SwiftUI ให้เพิ่มส่วนขยายพ็อดสำหรับปุ่ม "ลงชื่อเข้าใช้ด้วย Google" ด้วย ดังนี้
pod 'GoogleSignInSwiftSupport'
บันทึกไฟล์และเรียกใช้:
pod install
เปิดไฟล์
.xcworkspace
workspace ที่สร้างขึ้นสำหรับแอปพลิเคชันของคุณใน Xcode ใช้ไฟล์นี้สำหรับการพัฒนาแอปพลิเคชันในอนาคตทั้งหมด (โปรดทราบว่าไฟล์นี้ต่างจากไฟล์โปรเจ็กต์.xcodeproj
ที่รวมอยู่ ซึ่งจะส่งผลให้เกิดข้อผิดพลาดการสร้างเมื่อเปิดขึ้น)คุณอาจดูตัวอย่างจาก Podfile ของแอป Objective-C ตัวอย่าง
ผู้จัดการแพ็กเกจของ Swift
เปิดโปรเจ็กต์ใน Xcode
เพิ่มทรัพยากร Dependency ของ Google Sign-In ลงในแอปของคุณ (เอกสารประกอบเกี่ยวกับ Xcode)
ที่เก็บ https://github.com/google/GoogleSignIn-iOS
เวอร์ชัน 6.0.2 ผลิตภัณฑ์ที่เป็นแพ็กเกจ GoogleSignIn หากคุณใช้ SwiftUI ให้เพิ่มผลิตภัณฑ์แพ็กเกจส่วนขยายต่อไปนี้สำหรับปุ่ม "ลงชื่อเข้าใช้ด้วย Google" ด้วย
ผลิตภัณฑ์ที่เป็นแพ็กเกจ GoogleSignInSwift
รับรหัสไคลเอ็นต์ OAuth
แอปของคุณต้องใช้รหัสไคลเอ็นต์ OAuth เพื่อระบุตัวตนกับแบ็กเอนด์การตรวจสอบสิทธิ์ของ Google สำหรับแอป iOS และ macOS คุณต้องกำหนดค่าประเภทแอปพลิเคชันรหัสไคลเอ็นต์ OAuth เป็น iOS
หากคุณยังไม่ได้สร้างรหัสไคลเอ็นต์ OAuth โปรดคลิกปุ่มด้านล่างเพื่อสร้าง
หลังจากสร้างรหัสไคลเอ็นต์ OAuth แล้ว ให้สังเกตสตริงรหัสไคลเอ็นต์ซึ่งคุณจะต้องกำหนดค่า Google Sign-In ในแอป คุณจะเลือกดาวน์โหลดไฟล์การกำหนดค่าซึ่งมีรหัสไคลเอ็นต์และข้อมูลการกำหนดค่าอื่นๆ เพื่อใช้อ้างอิงในอนาคตได้ (ไม่บังคับ)
หากสร้างรหัสไคลเอ็นต์ OAuth ไว้แล้ว คุณจะค้นหาข้อมูล OAuth ที่มีอยู่ได้โดยคลิกปุ่มด้านล่าง
รับรหัสไคลเอ็นต์ OAuth ที่มีอยู่
รับรหัสไคลเอ็นต์ของเซิร์ฟเวอร์ OAuth
แอปส่วนใหญ่จะต้องส่งข้อมูลประจำตัวของผู้ใช้ที่ลงชื่อเข้าใช้ไปยังบริการแบ็กเอนด์บางประเภท ในการส่งข้อมูลประจำตัวของผู้ใช้ที่ลงชื่อเข้าใช้ด้วย Google ไปยังแบ็กเอนด์อย่างปลอดภัย ให้ใช้โทเค็นรหัสตามที่อธิบายไว้ในตรวจสอบสิทธิ์กับเซิร์ฟเวอร์แบ็กเอนด์ การเรียกโทเค็นรหัสผู้ใช้จะต้องมีรหัสไคลเอ็นต์ที่ 2 ซึ่งก็คือรหัสไคลเอ็นต์ของเซิร์ฟเวอร์ ซึ่งแสดงถึงแบ็กเอนด์ของคุณ
วิธีสร้างรหัสไคลเอ็นต์ของเซิร์ฟเวอร์
เปิดโปรเจ็กต์ใน Cloud Console
สร้างรหัสไคลเอ็นต์ OAuth ประเภทเว็บแอปพลิเคชันใหม่ จดบันทึกสตริงรหัสไคลเอ็นต์ ซึ่งคุณจะต้องกำหนดค่า Google Sign-In ในแอป
กำหนดค่าโปรเจ็กต์แอปพลิเคชันของคุณ
Google Sign-In กำหนดให้คุณต้องกำหนดค่าโปรเจ็กต์ด้วยรหัสไคลเอ็นต์ OAuth และชุดรูปแบบ URL ที่กำหนดเอง นอกจากนี้ คุณยังเพิ่มรหัสไคลเอ็นต์ของเซิร์ฟเวอร์สำหรับการตรวจสอบสิทธิ์แบ็กเอนด์หรือเพิ่มประสิทธิภาพแอปสำหรับโดเมน Google Workspace ได้อีกด้วย
เพิ่มรหัสไคลเอ็นต์ OAuth และชุดรูปแบบ URL ที่กำหนดเอง
อัปเดตไฟล์ Info.plist
ของแอปเพื่อเพิ่มรหัสไคลเอ็นต์ OAuth และรูปแบบ URL ที่กำหนดเองตามรหัสไคลเอ็นต์ที่ย้อนกลับ
รหัสไคลเอ็นต์ที่ย้อนกลับคือรหัสไคลเอ็นต์ที่มีลำดับของช่องที่คั่นด้วยจุดกลับด้าน ซึ่งจะแสดงอยู่ในส่วน "รูปแบบ URL ของ iOS" ด้วยเมื่อเลือกไคลเอ็นต์ OAuth ของ iOS ที่มีอยู่ใน Cloud Console ตัวอย่างเช่น
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>
ไม่บังคับ: กำหนดค่าการตรวจสอบสิทธิ์แบ็กเอนด์
หากคุณต้องการรับโทเค็น ID ของผู้ใช้เพื่อการตรวจสอบสิทธิ์แบ็กเอนด์ ให้ตั้งค่าคีย์ 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 ได้