Google is committed to advancing racial equity for Black communities. See how.
หน้านี้ได้รับการแปลโดย Cloud Translation API
Switch to English

ตรวจสอบสิทธิ์กับ Firebase โดยใช้บัญชีที่ใช้รหัสผ่านบน iOS

คุณสามารถใช้ Firebase Authentication เพื่อให้ผู้ใช้ตรวจสอบสิทธิ์กับ Firebase โดยใช้ที่อยู่อีเมลและรหัสผ่านและเพื่อจัดการบัญชีที่ใช้รหัสผ่านของแอป

ก่อนที่คุณจะเริ่ม

  1. เพิ่ม Firebase ในโปรเจ็กต์ iOS ของคุณ รวม Podfile ต่อไปนี้ใน Podfile ของคุณ:
    pod 'Firebase/Auth'
    
  2. หากคุณยังไม่ได้เชื่อมต่อแอปกับโครงการ Firebase ให้ทำจาก คอนโซล Firebase
  3. เปิดใช้งานการลงชื่อเข้าใช้อีเมล / รหัสผ่าน:
    1. ใน คอนโซล Firebase ให้เปิดส่วนการ ตรวจสอบสิทธิ์
    2. บนแท็บ วิธีการลงชื่อเข้า ใช้ให้เปิดใช้งาน วิธีการลงชื่อเข้า ใช้ อีเมล / รหัสผ่าน แล้วคลิก บันทึก

สร้างบัญชีที่ใช้รหัสผ่าน

ในการสร้างบัญชีผู้ใช้ใหม่ด้วยรหัสผ่านให้ทำตามขั้นตอนต่อไปนี้ในกิจกรรมการลงชื่อเข้าใช้แอปของคุณ:

  1. นำเข้าโมดูล Firebase ใน UIApplicationDelegate ของคุณ:

    รวดเร็ว

    import Firebase

    วัตถุประสงค์ -C

    @import Firebase;
  2. กำหนดค่าอินสแตนซ์ที่แชร์ของ FirebaseApp โดยทั่วไปในแอปพลิเคชันของแอปของคุณ application:didFinishLaunchingWithOptions: method:

    รวดเร็ว

    // Use Firebase library to configure APIs
    FirebaseApp.configure()

    วัตถุประสงค์ -C

    // Use Firebase library to configure APIs
    [FIRApp configure];
  3. เมื่อผู้ใช้ใหม่ลงชื่อสมัครใช้โดยใช้แบบฟอร์มลงทะเบียนของแอปของคุณให้ทำตามขั้นตอนการตรวจสอบบัญชีใหม่ที่แอปของคุณต้องการเช่นการตรวจสอบว่ารหัสผ่านของบัญชีใหม่พิมพ์ถูกต้องและตรงตามข้อกำหนดด้านความซับซ้อนของคุณ
  4. สร้างบัญชีใหม่โดยส่งที่อยู่อีเมลและรหัสผ่านของผู้ใช้ใหม่เพื่อ createUserWithEmail:email:password:completion:

    รวดเร็ว

    Auth.auth().createUser(withEmail: email, password: password) { authResult, error in
      // ...
    }

    วัตถุประสงค์ -C

    [[FIRAuth auth] createUserWithEmail:email
                               password:password
                             completion:^(FIRAuthDataResult * _Nullable authResult,
                                          NSError * _Nullable error) {
      // ...
    }];
    หากสร้างบัญชีใหม่สำเร็จแสดงว่าผู้ใช้ลงชื่อเข้าใช้และคุณสามารถรับข้อมูลบัญชีของผู้ใช้จากออบเจ็กต์ผลลัพธ์ที่ส่งผ่านไปยังวิธีการโทรกลับ

ลงชื่อเข้าใช้ผู้ใช้ด้วยที่อยู่อีเมลและรหัสผ่าน

ขั้นตอนในการลงชื่อเข้าใช้ด้วยรหัสผ่านจะคล้ายกับขั้นตอนในการสร้างบัญชีใหม่ ในกิจกรรมการลงชื่อเข้าใช้แอปของคุณให้ทำดังต่อไปนี้:

  1. นำเข้าโมดูล Firebase ใน UIApplicationDelegate ของคุณ:

    รวดเร็ว

    import Firebase

    วัตถุประสงค์ -C

    @import Firebase;
  2. กำหนดค่าอินสแตนซ์ที่แชร์ของ FirebaseApp โดยทั่วไปจะอยู่ในแอปพลิเคชันของแอปของคุณ application:didFinishLaunchingWithOptions: method:

    รวดเร็ว

    3147900d 13

    วัตถุประสงค์ -C

    // Use Firebase library to configure APIs
    [FIRApp configure];
  3. เมื่อผู้ใช้ลงชื่อเข้าใช้แอปของคุณให้ส่งที่อยู่อีเมลและรหัสผ่านของผู้ใช้เพื่อ signInWithEmail:email:password:completion:

    รวดเร็ว

    Auth.auth().signIn(withEmail: email, password: password) { [weak self] authResult, error in
      guard let strongSelf = self else { return }
      // ...
    }

    วัตถุประสงค์ -C

    [[FIRAuth auth] signInWithEmail:self->_emailField.text
                           password:self->_passwordField.text
                         completion:^(FIRAuthDataResult * _Nullable authResult,
                                      NSError * _Nullable error) {
      // ...
    }];
    หากผู้ใช้ลงชื่อเข้าใช้สำเร็จคุณสามารถรับข้อมูลบัญชีของผู้ใช้จากออบเจ็กต์ผลลัพธ์ที่ส่งผ่านไปยังวิธีการโทรกลับ

ขั้นตอนถัดไป

หลังจากผู้ใช้ลงชื่อเข้าใช้เป็นครั้งแรกบัญชีผู้ใช้ใหม่จะถูกสร้างขึ้นและเชื่อมโยงกับข้อมูลรับรองนั่นคือชื่อผู้ใช้และรหัสผ่านหมายเลขโทรศัพท์หรือข้อมูลผู้ให้บริการรับรองความถูกต้อง - ผู้ใช้ลงชื่อเข้าใช้ด้วย บัญชีใหม่นี้จัดเก็บไว้เป็นส่วนหนึ่งของโครงการ Firebase ของคุณและสามารถใช้เพื่อระบุผู้ใช้ในทุกแอปในโครงการของคุณได้ไม่ว่าผู้ใช้จะลงชื่อเข้าใช้อย่างไร

  • ในแอพของคุณคุณสามารถรับข้อมูลโปรไฟล์พื้นฐานของผู้ใช้จากออบเจ็กต์ FIRUser ดู จัดการผู้ใช้

  • ในฐานข้อมูลเรียลไทม์ Firebase และ กฎความปลอดภัยของที่ เก็บข้อมูลบนคลาวด์คุณสามารถรับ ID ผู้ใช้เฉพาะของผู้ใช้ที่ลงชื่อเข้าใช้จากตัวแปร auth และใช้เพื่อควบคุมข้อมูลที่ผู้ใช้เข้าถึงได้

คุณสามารถอนุญาตให้ผู้ใช้ลงชื่อเข้าใช้แอปของคุณโดยใช้ผู้ให้บริการตรวจสอบสิทธิ์หลายรายโดยการ เชื่อมโยงข้อมูลรับรองของผู้ให้บริการรับรองความถูกต้องกับบัญชีผู้ใช้ที่มีอยู่

ในการออกจากระบบผู้ใช้โทร signOut:

รวดเร็ว

    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;
}

คุณอาจต้องการเพิ่มรหัสการจัดการข้อผิดพลาดสำหรับข้อผิดพลาดในการตรวจสอบสิทธิ์ทั้งหมด ดู จัดการข้อผิดพลาด