หากการเรียกกลับเสร็จสมบูรณ์ในเมธอด Authentication ได้รับอาร์กิวเมนต์ NSError
ที่
ไม่ใช่ ศูนย์ เกิดข้อผิดพลาด เพื่อส่งต่อไปยังการจัดการข้อผิดพลาดที่เหมาะสม
ในรหัสการผลิตของคุณ ตรวจสอบรหัสข้อผิดพลาดเทียบกับข้อผิดพลาดที่พบบ่อย และ
ตามรายการข้อผิดพลาดที่ระบุด้านล่าง
ข้อผิดพลาดบางอย่างสามารถแก้ไขได้ด้วยการดำเนินการบางอย่างของผู้ใช้ เช่น
FIRAuthErrorCodeUserTokenExpired
สามารถแก้ปัญหาได้โดยการลงชื่อเข้าใช้
และFIRAuthErrorCodeWrongPassword
ด้วยการขอให้ผู้ใช้ระบุ
รหัสผ่านที่ถูกต้อง
ยกเว้นในกรณีของ FIRAuthErrorCodeNetworkError
หรือ
FIRAuthErrorCodeTooManyRequests
กำลังลองดำเนินการที่ล้มเหลวอีกครั้งด้วยรหัสเดิม
จะไม่มีทางประสบความสำเร็จได้ ไม่ต้องตั้งมั่นว่าการทำงาน
ที่มีผลกับฝั่งเซิร์ฟเวอร์
ขณะตรวจสอบหรือบันทึกข้อผิดพลาด โปรดตรวจสอบพจนานุกรม userInfo
FIRAuthErrorNameKey
มีสตริงชื่อข้อผิดพลาดข้ามแพลตฟอร์มที่สามารถ
ซึ่งใช้ในการระบุข้อผิดพลาด
NSLocalizedDescriptionKey
มีคำอธิบายข้อผิดพลาด ช่วงเวลานี้
คำอธิบายนั้นมีไว้สำหรับนักพัฒนาซอฟต์แวร์ ไม่ใช่สำหรับผู้ใช้
NSUnderlyingErrorKey
มีข้อผิดพลาดที่เกี่ยวข้องที่ทำให้เกิดข้อผิดพลาดใน
หากมีข้อผิดพลาดที่เกี่ยวข้อง
นอกจากฟิลด์หลักที่แสดงด้านบนแล้ว ยังมีฟิลด์อื่นๆ ใน
พจนานุกรม userInfo
ที่คุณอาจพบว่ามีประโยชน์ในการวินิจฉัยข้อผิดพลาด
รหัสข้อผิดพลาดที่พบบ่อยในเมธอด API ทั้งหมด
รหัส |
ความหมาย |
FIRAuthErrorCodeNetworkError |
บ่งบอกว่าเกิดข้อผิดพลาดเกี่ยวกับเครือข่ายระหว่างการดำเนินการ |
FIRAuthErrorCodeUserNotFound |
บ่งบอกว่าไม่พบบัญชีผู้ใช้ กรณีนี้อาจเกิดขึ้นหากบัญชีผู้ใช้ถูกลบไปแล้ว |
FIRAuthErrorCodeUserTokenExpired |
ระบุว่าโทเค็นของผู้ใช้ปัจจุบันหมดอายุ เช่น ผู้ใช้อาจเปลี่ยนรหัสผ่านบัญชีในอุปกรณ์อื่น คุณต้องแจ้งให้ผู้ใช้ลงชื่อเข้าใช้อีกครั้งในอุปกรณ์นี้ |
FIRAuthErrorCodeTooManyRequests |
บ่งบอกว่าคำขอถูกบล็อกหลังจากมีการส่งคำขอจากอุปกรณ์ที่เรียกไปยังเซิร์ฟเวอร์ของ Firebase Authentication มากผิดปกติ โปรดลองอีกครั้งในภายหลัง |
FIRAuthErrorCodeInvalidAPIKey |
บ่งบอกว่าแอปพลิเคชันได้รับการกำหนดค่าด้วยคีย์ API ที่ไม่ถูกต้อง |
FIRAuthErrorCodeAppNotAuthorized |
ระบุว่าแอปไม่ได้รับอนุญาตให้ใช้การตรวจสอบสิทธิ์ Firebase ด้วยคีย์ API ที่ให้มา ไปที่คอนโซล Google API แล้วตรวจสอบในแท็บข้อมูลเข้าสู่ระบบว่าคีย์ API ที่คุณใช้มีรหัสชุดของแอปพลิเคชันอยู่ในรายการที่อนุญาตพิเศษ |
FIRAuthErrorCodeKeychainError |
ระบุข้อผิดพลาดที่เกิดขึ้นเมื่อเข้าถึง Keychain ช่อง NSLocalizedFailureReasonErrorKey และ NSUnderlyingErrorKey ในพจนานุกรม NSError.userInfo จะมีข้อมูลเพิ่มเติมเกี่ยวกับข้อผิดพลาดที่พบ |
FIRAuthErrorCodeInternalError |
บ่งบอกว่าเกิดข้อผิดพลาดภายใน โปรดรายงานข้อผิดพลาดพร้อมกับออบเจ็กต์ NSError ทั้งหมด |
รหัสข้อผิดพลาดของเมธอด
FIRAuth
checkProvidersForEmail:ความสมบูรณ์:
รหัส |
ความหมาย |
FIRAuthErrorCodeInvalidEmail |
แสดงว่าอีเมลผิดรูปแบบ |
signInWithEmail:รหัสผ่าน:เสร็จสมบูรณ์:
รหัส |
ความหมาย |
FIRAuthErrorCodeOperationNotAllowed |
ระบุว่าไม่ได้เปิดใช้บัญชีอีเมลและรหัสผ่าน โปรดเปิดใช้ในส่วนการตรวจสอบสิทธิ์ของคอนโซล Firebase |
FIRAuthErrorCodeInvalidEmail |
แสดงว่าอีเมลผิดรูปแบบ |
FIRAuthErrorCodeUserDisabled |
บ่งบอกว่าบัญชีผู้ใช้ถูกปิดใช้งาน |
FIRAuthErrorCodeWrongPassword |
ระบุว่าผู้ใช้พยายามลงชื่อเข้าใช้ด้วยรหัสผ่านที่ไม่ถูกต้อง |
signInWithCredential:completion:
รหัส |
ความหมาย |
FIRAuthErrorCodeInvalidCredential |
ระบุว่าข้อมูลเข้าสู่ระบบที่ระบุไม่ถูกต้อง ซึ่งอาจเกิดขึ้นหากใบอนุญาตหมดอายุหรือมีรูปแบบไม่ถูกต้อง |
FIRAuthErrorCodeInvalidEmail |
บ่งบอกว่าอีเมลมีรูปแบบไม่ถูกต้อง หากข้อมูลเข้าสู่ระบบเป็นประเภท EmailPasswordAuthCredential |
FIRAuthErrorCodeOperationNotAllowed |
ระบุว่าไม่ได้เปิดใช้บัญชีที่มีผู้ให้บริการข้อมูลประจำตัวซึ่งแสดงถึงข้อมูลเข้าสู่ระบบ โปรดเปิดใช้ในส่วนการตรวจสอบสิทธิ์ของคอนโซล Firebase |
FIRAuthErrorCodeEmailAlreadyInUse |
ระบุว่าอีเมลที่ยืนยันด้วยข้อมูลเข้าสู่ระบบ (เช่น อีเมลในโทเค็นเพื่อการเข้าถึงของ Facebook) มีการใช้งานโดยบัญชีที่มีอยู่แล้ว ซึ่งไม่สามารถตรวจสอบสิทธิ์ด้วยวิธีการลงชื่อเข้าใช้นี้ได้ โทรหา fetchProvidersForEmail เพื่อขออีเมลของผู้ใช้รายนี้ แล้วแจ้งให้ลงชื่อเข้าใช้ด้วยผู้ให้บริการการลงชื่อเข้าใช้ที่ส่งคืนมา ระบบจะแสดงข้อผิดพลาดนี้เฉพาะในกรณีที่ตัวเลือก "หนึ่งบัญชีต่อที่อยู่อีเมล" เปิดใช้การตั้งค่าอยู่ในคอนโซล Firebase ในส่วนการตั้งค่า Authentication |
FIRAuthErrorCodeUserDisabled |
บ่งบอกว่าบัญชีผู้ใช้ถูกปิดใช้งาน |
FIRAuthErrorCodeWrongPassword |
ระบุว่าผู้ใช้พยายามลงชื่อเข้าใช้ด้วยรหัสผ่านที่ไม่ถูกต้อง หากข้อมูลเข้าสู่ระบบเป็นประเภท EmailPasswordAuthCredential |
ลงชื่อเข้าใช้แบบไม่ระบุชื่อสำเร็จ:
รหัส |
ความหมาย |
FIRAuthErrorCodeOperationNotAllowed |
ระบุว่าไม่ได้เปิดใช้บัญชีที่ไม่ระบุตัวตน โปรดเปิดใช้ในส่วนการตรวจสอบสิทธิ์ของคอนโซล Firebase |
signInWithCustomToken:completion:
รหัส |
ความหมาย |
FIRAuthErrorCodeInvalidCustomToken |
ระบุข้อผิดพลาดในการตรวจสอบความถูกต้องด้วยโทเค็นที่กำหนดเอง |
FIRAuthErrorCodeCustomTokenMismatch |
ระบุว่าบัญชีบริการและคีย์ API เป็นของโปรเจ็กต์อื่น |
createUserWithEmail:รหัสผ่าน:เสร็จสมบูรณ์:
รหัส |
ความหมาย |
FIRAuthErrorCodeInvalidEmail |
แสดงว่าอีเมลผิดรูปแบบ |
FIRAuthErrorCodeEmailAlreadyInUse |
บ่งบอกว่ามีอีเมลที่ใช้ลงชื่อสมัครใช้อยู่แล้ว โปรดโทรหา fetchProvidersForEmail เพื่อตรวจสอบว่าผู้ใช้ดังกล่าวใช้กลไกการลงชื่อเข้าใช้ใดบ้าง และแจ้งให้ผู้ใช้ลงชื่อเข้าใช้ด้วยกลไกดังกล่าว |
FIRAuthErrorCodeOperationNotAllowed |
ระบุว่าไม่ได้เปิดใช้บัญชีอีเมลและรหัสผ่าน เปิดใช้ในส่วน Authentication ของคอนโซล Firebase |
FIRAuthErrorCodeWeakPassword |
ระบุการพยายามตั้งรหัสผ่านที่ถือว่าไม่รัดกุมเกินไป ฟิลด์ NSLocalizedFailureReasonErrorKey ในออบเจ็กต์พจนานุกรม NSError.userInfo จะมีคำอธิบายโดยละเอียดเพิ่มเติมที่สามารถแสดงต่อผู้ใช้ |
ออกจากระบบ:
รหัส |
ความหมาย |
FIRAuthErrorCodeKeychainError |
ระบุว่าเกิดข้อผิดพลาดเมื่อเข้าถึง Keychain ช่อง NSLocalizedFailureReasonErrorKey และ NSUnderlyingErrorKey ในพจนานุกรม NSError.userInfo จะมีข้อมูลเพิ่มเติมเกี่ยวกับข้อผิดพลาดที่พบ |
FIRUser
ข้อผิดพลาดที่พบบ่อยสำหรับการดำเนินการของ FIRUser
รหัส |
ความหมาย |
FIRAuthErrorCodeInvalidUserToken |
บ่งบอกว่าโทเค็นการรีเฟรชของผู้ใช้ที่ลงชื่อเข้าใช้ซึ่งมีข้อมูลเซสชันไม่ถูกต้อง คุณต้องแจ้งให้ผู้ใช้ลงชื่อเข้าใช้อีกครั้งในอุปกรณ์นี้ |
FIRAuthErrorCodeUserDisabled |
แสดงว่าบัญชีของผู้ใช้ถูกปิดใช้และจะใช้ไม่ได้จนกว่าจะเปิดใช้อีกครั้งจากภายในแผงผู้ใช้ในคอนโซล Firebase |
reauthWithCredential:completion:
รหัส |
ความหมาย |
FIRAuthErrorCodeInvalidCredential |
ระบุว่าข้อมูลเข้าสู่ระบบที่ระบุไม่ถูกต้อง ซึ่งอาจเกิดขึ้นหากใบอนุญาตหมดอายุหรือมีรูปแบบไม่ถูกต้อง |
FIRAuthErrorCodeInvalidEmail |
บ่งบอกว่าอีเมลมีรูปแบบไม่ถูกต้อง หากข้อมูลเข้าสู่ระบบเป็นประเภท EmailPasswordAuthCredential |
FIRAuthErrorCodeWrongPassword |
ระบุว่าผู้ใช้พยายามตรวจสอบสิทธิ์อีกครั้งด้วยรหัสผ่านที่ไม่ถูกต้อง หากข้อมูลเข้าสู่ระบบเป็นประเภท EmailPasswordAuthCredential |
FIRAuthErrorCodeUserMismatch |
ระบุว่ามีการพยายามตรวจสอบสิทธิ์อีกครั้งกับผู้ใช้ที่ไม่ใช่ผู้ใช้ปัจจุบัน |
FIRAuthErrorCodeOperationNotAllowed |
ระบุว่าไม่ได้เปิดใช้บัญชีที่มีผู้ให้บริการข้อมูลประจำตัวซึ่งแสดงถึงข้อมูลเข้าสู่ระบบ โปรดเปิดใช้ในส่วนการตรวจสอบสิทธิ์ของคอนโซล Firebase |
FIRAuthErrorCodeEmailAlreadyInUse |
ระบุว่าอีเมลที่ยืนยันด้วยข้อมูลเข้าสู่ระบบ (เช่น อีเมลในโทเค็นเพื่อการเข้าถึงของ Facebook) มีการใช้งานโดยบัญชีที่มีอยู่แล้ว ซึ่งไม่สามารถตรวจสอบสิทธิ์ซ้ำโดยใช้วิธีการลงชื่อเข้าใช้นี้ได้ โทรหา fetchProvidersForEmail เพื่อขออีเมลของผู้ใช้รายนี้ แล้วแจ้งให้ลงชื่อเข้าใช้ด้วยผู้ให้บริการการลงชื่อเข้าใช้ที่ส่งคืนมา ระบบจะแสดงข้อผิดพลาดนี้เฉพาะในกรณีที่ตัวเลือก "หนึ่งบัญชีต่อที่อยู่อีเมล" เปิดใช้การตั้งค่าอยู่ในคอนโซล Firebase ในส่วนการตั้งค่า Authentication |
FIRAuthErrorCodeUserDisabled |
บ่งบอกว่าบัญชีผู้ใช้ถูกปิดใช้งาน |
อัปเดตอีเมล:เสร็จสมบูรณ์:
รหัส |
ความหมาย |
FIRAuthErrorCodeEmailAlreadyInUse |
บ่งบอกว่ามีบัญชีอื่นใช้งานอีเมลนี้แล้ว |
FIRAuthErrorCodeInvalidEmail |
แสดงว่าอีเมลผิดรูปแบบ |
FIRAuthErrorCodeRequiresRecentLogin |
การอัปเดตอีเมลของผู้ใช้เป็นการดำเนินการที่มีความละเอียดอ่อนด้านความปลอดภัย ซึ่งจำเป็นต้องเข้าสู่ระบบจากผู้ใช้ครั้งล่าสุด ข้อผิดพลาดนี้บ่งบอกว่าผู้ใช้ไม่ได้ลงชื่อเข้าใช้เมื่อเร็วๆ นี้ ในการแก้ปัญหา ให้ตรวจสอบสิทธิ์ผู้ใช้อีกครั้งโดยเรียกใช้ reauthenticateWithCredential:completion: ใน FIRUser |
อัปเดตรหัสผ่าน:ข้อมูลที่ครบถ้วน:
รหัส |
ความหมาย |
FIRAuthErrorCodeOperationNotAllowed |
ระบุว่าผู้ดูแลระบบปิดใช้การลงชื่อเข้าใช้ด้วยผู้ให้บริการข้อมูลประจำตัวที่ระบุ |
FIRAuthErrorCodeRequiresRecentLogin |
การอัปเดตรหัสผ่านของผู้ใช้เป็นการดำเนินการที่มีความละเอียดอ่อนด้านความปลอดภัย ซึ่งต้องมีการเข้าสู่ระบบครั้งล่าสุดจากผู้ใช้ ข้อผิดพลาดนี้บ่งบอกว่าผู้ใช้ไม่ได้ลงชื่อเข้าใช้เมื่อเร็วๆ นี้ ในการแก้ปัญหา ให้ตรวจสอบสิทธิ์ผู้ใช้อีกครั้งโดยเรียกใช้ reauthenticateWithCredential:completion: ใน FIRUser |
FIRAuthErrorCodeWeakPassword |
ระบุการพยายามตั้งรหัสผ่านที่ถือว่าไม่รัดกุมเกินไป ฟิลด์ NSLocalizedFailureReasonErrorKey ในออบเจ็กต์พจนานุกรม NSError.userInfo จะมีคำอธิบายโดยละเอียดเพิ่มเติมที่สามารถแสดงต่อผู้ใช้ |
linkWithCredential:completion:
รหัส |
ความหมาย |
FIRAuthErrorCodeProviderAlreadyLinked |
ระบุความพยายามที่จะลิงก์ผู้ให้บริการประเภทหนึ่งที่ลิงก์กับบัญชีนี้แล้ว |
FIRAuthErrorCodeCredentialAlreadyInUse |
ระบุความพยายามในการลิงก์กับข้อมูลเข้าสู่ระบบที่เคยลิงก์กับบัญชี Firebase อื่นแล้ว |
FIRAuthErrorCodeOperationNotAllowed |
ระบุว่าไม่ได้เปิดใช้บัญชีที่มีผู้ให้บริการข้อมูลประจำตัวซึ่งแสดงถึงข้อมูลเข้าสู่ระบบ โปรดเปิดใช้ในส่วนการตรวจสอบสิทธิ์ของคอนโซล Firebase |
วิธีการนี้อาจแสดงรหัสข้อผิดพลาดที่เชื่อมโยงกับ updateEmail:completion:
และ
updatePassword:completion:
ในวันที่ FIRUser
ยกเลิกการลิงก์FromProvider:completion:
รหัส |
ความหมาย |
FIRAuthErrorCodeNoSuchProvider |
ระบุความพยายามในการยกเลิกการลิงก์ผู้ให้บริการที่ไม่ได้ลิงก์กับบัญชี |
FIRAuthErrorCodeRequiresRecentLogin |
การอัปเดตอีเมลเป็นการดำเนินการที่มีความละเอียดอ่อนด้านความปลอดภัย ซึ่งต้องมีการเข้าสู่ระบบจากผู้ใช้ครั้งล่าสุด ข้อผิดพลาดนี้บ่งบอกว่าผู้ใช้ไม่ได้ลงชื่อเข้าใช้เมื่อเร็วๆ นี้ ในการแก้ปัญหา ให้ตรวจสอบสิทธิ์ผู้ใช้อีกครั้งโดยเรียกใช้ reauthenticateWithCredential:completion: ใน FIRUser |
sendEmail VerificationWithComplete:
รหัส |
ความหมาย |
FIRAuthErrorCodeUserNotFound |
บ่งบอกว่าไม่พบบัญชีผู้ใช้ |
ลบด้วยเสร็จสมบูรณ์:
รหัส |
ความหมาย |
FIRAuthErrorCodeRequiresRecentLogin |
การลบบัญชีผู้ใช้เป็นการดำเนินการที่มีความละเอียดอ่อนด้านความปลอดภัย ซึ่งต้องมีการเข้าสู่ระบบจากผู้ใช้ครั้งล่าสุด ข้อผิดพลาดนี้บ่งบอกว่าผู้ใช้ไม่ได้ลงชื่อเข้าใช้เมื่อเร็วๆ นี้ ในการแก้ปัญหา ให้ตรวจสอบสิทธิ์ผู้ใช้อีกครั้งโดยเรียกใช้ reauthenticateWithCredential:completion: ใน FIRUser |