לפני שאתה מתחיל
השתמש ב- Swift Package Manager כדי להתקין ולנהל תלות ב-Firebase.
- ב-Xcode, כשפרויקט האפליקציה שלך פתוח, נווט אל קובץ > הוסף חבילות .
- כשתתבקש, הוסף את מאגר Firebase Apple platforms SDK:
- בחר את ספריית האימות של Firebase.
- הוסף את הדגל
-ObjC
לקטע Other Linker Flags של הגדרות הבנייה של היעד שלך. - בסיום, Xcode יתחיל באופן אוטומטי לפתור ולהוריד את התלות שלך ברקע.
https://github.com/firebase/firebase-ios-sdk.git
לאחר מכן, בצע כמה שלבי תצורה:
- קבל את מפתחות השרת של הפרויקט שלך:
- עבור לדף חשבונות שירות בהגדרות הפרויקט שלך.
- לחץ על צור מפתח פרטי חדש בתחתית הקטע Firebase Admin SDK בדף חשבונות שירות .
- צמד המפתחות הציבורי/פרטי של חשבון השירות החדש נשמר אוטומטית במחשב שלך. העתק את הקובץ הזה לשרת האימות שלך.
אימות באמצעות Firebase
- ייבא את מודול
FirebaseCore
ב-UIApplicationDelegate
שלך, כמו גם כל מודולי Firebase אחרים שנציג האפליקציה שלך משתמש בו. לדוגמה, כדי להשתמש ב-Cloud Firestore ובאימות:SwiftUI
import SwiftUI import FirebaseCore import FirebaseFirestore import FirebaseAuth // ...
מָהִיר
import FirebaseCore import FirebaseFirestore import FirebaseAuth // ...
Objective-C
@import FirebaseCore; @import FirebaseFirestore; @import FirebaseAuth; // ...
- הגדר מופע משותף
FirebaseApp
בשיטתapplication(_:didFinishLaunchingWithOptions:)
של נציג האפליקציה שלך:SwiftUI
// Use Firebase library to configure APIs FirebaseApp.configure()
מָהִיר
// Use Firebase library to configure APIs FirebaseApp.configure()
Objective-C
// Use Firebase library to configure APIs [FIRApp configure];
- אם אתה משתמש ב- SwiftUI, עליך ליצור נציג יישום ולצרף אותו למבנה
App
שלך באמצעותUIApplicationDelegateAdaptor
אוNSApplicationDelegateAdaptor
. עליך גם להשבית את העברת נציגי האפליקציה. למידע נוסף, עיין בהוראות של SwiftUI .SwiftUI
@main struct YourApp: App { // register app delegate for Firebase setup @UIApplicationDelegateAdaptor(AppDelegate.self) var delegate var body: some Scene { WindowGroup { NavigationView { ContentView() } } } }
- כאשר משתמשים נכנסים לאפליקציה שלך, שלח את אישורי הכניסה שלהם (לדוגמה, שם המשתמש והסיסמה שלהם) לשרת האימות שלך. השרת שלך בודק את האישורים ומחזיר אסימון מותאם אישית אם הם תקפים.
- לאחר שתקבל את האסימון המותאם אישית משרת האימות שלך, העבר אותו ל-
signInWithCustomToken
כדי להיכנס למשתמש:מָהִיר
Auth.auth().signIn(withCustomToken: customToken ?? "") { user, error in // ... }
Objective-C
[[FIRAuth auth] signInWithCustomToken:customToken completion:^(FIRAuthDataResult * _Nullable authResult, NSError * _Nullable error) { // ... }];
הצעדים הבאים
לאחר שמשתמש נכנס בפעם הראשונה, נוצר חשבון משתמש חדש ומקושר לאישורים - כלומר, שם המשתמש והסיסמה, מספר הטלפון או פרטי ספק האישורים - המשתמש נכנס איתו. החשבון החדש הזה מאוחסן כחלק מפרויקט Firebase שלך, וניתן להשתמש בו כדי לזהות משתמש בכל אפליקציה בפרויקט שלך, ללא קשר לאופן שבו המשתמש נכנס.
באפליקציות שלך, תוכל לקבל את פרטי הפרופיל הבסיסיים של המשתמש מאובייקט
User
. ראה ניהול משתמשים .בכללי האבטחה של מסד הנתונים בזמן אמת של Firebase ואחסון בענן , תוכל לקבל את מזהה המשתמש הייחודי של המשתמש המחובר ממשתנה
auth
, ולהשתמש בו כדי לשלוט לאילו נתונים המשתמש יכול לגשת.
אתה יכול לאפשר למשתמשים להיכנס לאפליקציה שלך באמצעות מספר ספקי אימות על ידי קישור אישורי ספק אימות לחשבון משתמש קיים.
כדי לצאת ממשתמש, התקשר ל- signOut:
.
מָהִיר
let firebaseAuth = Auth.auth() do { try firebaseAuth.signOut() } catch let signOutError as NSError { print("Error signing out: %@", signOutError) }
Objective-C
NSError *signOutError; BOOL status = [[FIRAuth auth] signOut:&signOutError]; if (!status) { NSLog(@"Error signing out: %@", signOutError); return; }
ייתכן שתרצה להוסיף קוד לטיפול בשגיאות עבור כל מגוון שגיאות האימות. ראה טיפול בשגיאות .