ก่อนจะเริ่ม
ใช้ Swift Package Manager เพื่อติดตั้งและจัดการการพึ่งพา Firebase
- ใน Xcode เมื่อโปรเจ็กต์แอปของคุณเปิดอยู่ ให้ไปที่ File > Add Packages
- เมื่อได้รับแจ้ง ให้เพิ่มที่เก็บ SDK ของแพลตฟอร์ม Firebase Apple:
- เลือกไลบรารีการตรวจสอบสิทธิ์ Firebase
- เมื่อเสร็จแล้ว Xcode จะเริ่มแก้ไขและดาวน์โหลดการพึ่งพาของคุณในพื้นหลังโดยอัตโนมัติ
https://github.com/firebase/firebase-ios-sdk
ถัดไป ดำเนินการขั้นตอนการกำหนดค่าบางอย่าง:
- รับคีย์เซิร์ฟเวอร์ของโปรเจ็กต์ของคุณ:
- ไปที่หน้า บัญชีบริการ ในการตั้งค่าโครงการของคุณ
- คลิก สร้างคีย์ส่วนตัวใหม่ ที่ด้านล่างของส่วน Firebase Admin SDK ของหน้า บัญชีบริการ
- คู่คีย์สาธารณะ/ส่วนตัวของบัญชีบริการใหม่จะถูกบันทึกไว้ในคอมพิวเตอร์ของคุณโดยอัตโนมัติ คัดลอกไฟล์นี้ไปยังเซิร์ฟเวอร์การตรวจสอบสิทธิ์ของคุณ
ตรวจสอบสิทธิ์ด้วย Firebase
- นำเข้าโมดูล
FirebaseCore
ในUIApplicationDelegate
ของคุณ รวมถึง โมดูล Firebase อื่นๆ ที่ผู้รับมอบสิทธิ์แอปของคุณใช้ ตัวอย่างเช่น ในการใช้ Cloud Firestore และการตรวจสอบสิทธิ์:Swift
import FirebaseCore import FirebaseFirestore import FirebaseAuth // ...
วัตถุประสงค์-C
@import FirebaseCore; @import FirebaseFirestore; @import FirebaseAuth; // ...
- กำหนดค่าอินสแตนซ์ที่ใช้ร่วมกันของ
FirebaseApp
โดยทั่วไปในเครื่องมือเริ่มต้นของApp
ปหรือวิธีการของapplication(_:didFinishLaunchingWithOptions:)
ของแอปหรือผู้รับมอบสิทธิ์แอป:Swift
// Use Firebase library to configure APIs FirebaseApp.configure()
วัตถุประสงค์-C
// Use Firebase library to configure APIs [FIRApp configure];
- เมื่อผู้ใช้ลงชื่อเข้าใช้แอปของคุณ ให้ส่งข้อมูลรับรองการลงชื่อเข้าใช้ (เช่น ชื่อผู้ใช้และรหัสผ่าน) ไปยังเซิร์ฟเวอร์การตรวจสอบสิทธิ์ของคุณ เซิร์ฟเวอร์ของคุณตรวจสอบข้อมูลประจำตัวและส่งคืน โทเค็นที่กำหนดเอง หากถูกต้อง
- หลังจากที่คุณได้รับโทเค็นที่กำหนดเองจากเซิร์ฟเวอร์การตรวจสอบสิทธิ์ของคุณแล้ว ให้ส่งโทเค็นนั้นไปที่
signInWithCustomToken
เพื่อลงชื่อเข้าใช้ผู้ใช้:Swift
Auth.auth().signIn(withCustomToken: customToken ?? "") { user, error in // ... }
วัตถุประสงค์-C
[[FIRAuth auth] signInWithCustomToken:customToken completion:^(FIRAuthDataResult * _Nullable authResult, NSError * _Nullable error) { // ... }];
ขั้นตอนถัดไป
หลังจากที่ผู้ใช้ลงชื่อเข้าใช้เป็นครั้งแรก บัญชีผู้ใช้ใหม่จะถูกสร้างขึ้นและเชื่อมโยงกับข้อมูลประจำตัว กล่าวคือ ชื่อผู้ใช้และรหัสผ่าน หมายเลขโทรศัพท์ หรือข้อมูลผู้ให้บริการตรวจสอบสิทธิ์ ซึ่งผู้ใช้ลงชื่อเข้าใช้ บัญชีใหม่นี้จัดเก็บเป็นส่วนหนึ่งของโปรเจ็กต์ Firebase และใช้เพื่อระบุผู้ใช้ในทุกแอปในโปรเจ็กต์ของคุณ ไม่ว่าผู้ใช้จะลงชื่อเข้าใช้ด้วยวิธีใดก็ตาม
ในแอพของคุณ คุณสามารถรับข้อมูลโปรไฟล์พื้นฐานของผู้ใช้จากอ็อบเจ็กต์
FIRUser
ดู จัดการผู้ใช้ในฐานข้อมูล Firebase Realtime Database และ Cloud Storage Security Rules คุณสามารถรับ ID ผู้ใช้เฉพาะของผู้ใช้ที่ลงชื่อเข้าใช้จากตัวแปร
auth
และใช้เพื่อควบคุมข้อมูลที่ผู้ใช้สามารถเข้าถึงได้
คุณสามารถอนุญาตให้ผู้ใช้ลงชื่อเข้าใช้แอปของคุณโดยใช้ผู้ให้บริการตรวจสอบสิทธิ์หลายรายโดย เชื่อมโยงข้อมูลรับรองของผู้ให้บริการตรวจสอบสิทธิ์กับบัญชีผู้ใช้ที่มีอยู่
หากต้องการออกจากระบบผู้ใช้ ให้โทรออกจาก signOut:
Swift
let firebaseAuth = Auth.auth() do { try firebaseAuth.signOut() } catch let signOutError as NSError { print("Error signing out: %@", signOutError) }
วัตถุประสงค์-C
NSError *signOutError; BOOL status = [[FIRAuth auth] signOut:&signOutError]; if (!status) { NSLog(@"Error signing out: %@", signOutError); return; }
คุณอาจต้องการเพิ่มรหัสการจัดการข้อผิดพลาดสำหรับข้อผิดพลาดในการตรวจสอบสิทธิ์ทั้งหมด ดูการ จัดการข้อผิดพลาด