ก่อนที่จะเริ่มผสานรวมแอป 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 ผลิตภัณฑ์แพ็กเกจ Google Sign-In หากใช้ SwiftUI ให้เพิ่มผลิตภัณฑ์แพ็กเกจส่วนขยายต่อไปนี้สําหรับปุ่ม "ลงชื่อเข้าใช้ด้วย Google" ด้วย
ผลิตภัณฑ์แพ็กเกจ GoogleSignInwift
ดูรหัสไคลเอ็นต์ 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 เช่น
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 ได้