หากการเรียกกลับเสร็จสมบูรณ์ในวิธีการตรวจสอบสิทธิ์ได้รับอาร์กิวเมนต์ NSError
ที่ไม่ใช่ค่าศูนย์ แสดงว่าเกิดข้อผิดพลาด ในการส่งไปยังตรรกะการจัดการข้อผิดพลาดที่เหมาะสมในโค้ดที่ใช้งานจริง ให้ตรวจสอบรหัสข้อผิดพลาดเทียบกับข้อผิดพลาดที่พบบ่อยและข้อผิดพลาดเฉพาะวิธีตามรายการด้านล่าง
ข้อผิดพลาดบางอย่างแก้ไขได้ด้วยการดำเนินการบางอย่างของผู้ใช้ เช่น FIRAuthErrorCodeUserTokenExpired
แก้ไขได้โดยลงชื่อเข้าใช้ผู้ใช้อีกครั้ง และ FIRAuthErrorCodeWrongPassword
ด้วยการขอให้ผู้ใช้ระบุรหัสผ่านที่ถูกต้อง
ยกเว้นในกรณีของ FIRAuthErrorCodeNetworkError
หรือ FIRAuthErrorCodeTooManyRequests
การพยายามดำเนินการที่ล้มเหลวอีกครั้งด้วยอาร์กิวเมนต์เดียวกันจะไม่มีทางประสบความสำเร็จ ไม่ต้องสันนิษฐานว่าการดำเนินการดังกล่าวเกิดกับฝั่งเซิร์ฟเวอร์หรือไม่
ขณะตรวจสอบหรือบันทึกข้อผิดพลาด โปรดตรวจสอบพจนานุกรม userInfo
FIRAuthErrorNameKey
มีสตริงชื่อข้อผิดพลาดข้ามแพลตฟอร์มที่ใช้ระบุข้อผิดพลาดได้
NSLocalizedDescriptionKey
มีคำอธิบายข้อผิดพลาด คำอธิบายนี้มีไว้สำหรับนักพัฒนาซอฟต์แวร์ ไม่ใช่ผู้ใช้
NSUnderlyingErrorKey
มีข้อผิดพลาดที่เกี่ยวข้องที่ทำให้เกิดข้อผิดพลาดนั้นๆ หากมีข้อผิดพลาดที่เกี่ยวข้องอยู่
นอกเหนือจากช่องหลักที่แสดงด้านบนแล้ว อาจมีช่องอื่นๆ ในพจนานุกรม userInfo
ที่อาจเป็นประโยชน์ต่อการวินิจฉัยข้อผิดพลาด
รหัสข้อผิดพลาดที่พบบ่อยในเมธอด API ทั้งหมด
รหัส |
ความหมาย |
FIRAuthErrorCodeNetworkError |
บ่งบอกว่าเกิดข้อผิดพลาดเกี่ยวกับเครือข่ายระหว่างการดำเนินการ |
FIRAuthErrorCodeUserNotFound |
บ่งบอกว่าไม่พบบัญชีผู้ใช้ กรณีนี้อาจเกิดขึ้นหากบัญชีผู้ใช้ถูกลบไปแล้ว |
FIRAuthErrorCodeUserTokenExpired |
ระบุว่าโทเค็นของผู้ใช้ปัจจุบันหมดอายุ เช่น ผู้ใช้อาจเปลี่ยนรหัสผ่านบัญชีในอุปกรณ์อื่น คุณต้องแจ้งให้ผู้ใช้ลงชื่อเข้าใช้อีกครั้งในอุปกรณ์นี้ |
FIRAuthErrorCodeTooManyRequests |
บ่งบอกว่าคำขอถูกบล็อกหลังจากมีการส่งคำขอจากอุปกรณ์ที่เรียกใช้ไปยังเซิร์ฟเวอร์การตรวจสอบสิทธิ์ Firebase มากผิดปกติ โปรดลองอีกครั้งในภายหลัง |
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 เพื่อขออีเมลของผู้ใช้รายนี้ แล้วแจ้งให้ลงชื่อเข้าใช้ด้วยผู้ให้บริการการลงชื่อเข้าใช้ที่ส่งคืนมา ข้อผิดพลาดนี้จะเกิดขึ้นหากเปิดใช้การตั้งค่า "1 บัญชีต่ออีเมล" ในคอนโซล Firebase ในการตั้งค่าการตรวจสอบสิทธิ์เท่านั้น |
FIRAuthErrorCodeUserDisabled |
บ่งบอกว่าบัญชีผู้ใช้ถูกปิดใช้งาน |
FIRAuthErrorCodeWrongPassword |
ระบุว่าผู้ใช้พยายามลงชื่อเข้าใช้ด้วยรหัสผ่านที่ไม่ถูกต้อง หากข้อมูลเข้าสู่ระบบเป็นประเภท EmailPasswordAuthCredential |
ลงชื่อเข้าใช้แบบไม่ระบุชื่อสำเร็จ:
รหัส |
ความหมาย |
FIRAuthErrorCodeOperationNotAllowed |
ระบุว่าไม่ได้เปิดใช้บัญชีที่ไม่ระบุตัวตน เปิดใช้ในส่วนการตรวจสอบสิทธิ์ของคอนโซล Firebase |
signInWithCustomToken:completion:
รหัส |
ความหมาย |
FIRAuthErrorCodeInvalidCustomToken |
ระบุข้อผิดพลาดในการตรวจสอบความถูกต้องด้วยโทเค็นที่กำหนดเอง |
FIRAuthErrorCodeCustomTokenMismatch |
ระบุว่าบัญชีบริการและคีย์ API เป็นของโปรเจ็กต์อื่น |
createUserWithEmail:รหัสผ่าน:เสร็จสมบูรณ์:
รหัส |
ความหมาย |
FIRAuthErrorCodeInvalidEmail |
แสดงว่าอีเมลผิดรูปแบบ |
FIRAuthErrorCodeEmailAlreadyInUse |
บ่งบอกว่ามีอีเมลที่ใช้ลงชื่อสมัครใช้อยู่แล้ว โปรดโทรหา fetchProvidersForEmail เพื่อตรวจสอบว่าผู้ใช้ดังกล่าวใช้กลไกการลงชื่อเข้าใช้ใดบ้าง และแจ้งให้ผู้ใช้ลงชื่อเข้าใช้ด้วยกลไกดังกล่าว |
FIRAuthErrorCodeOperationNotAllowed |
ระบุว่าไม่ได้เปิดใช้บัญชีอีเมลและรหัสผ่าน เปิดใช้ในส่วนการตรวจสอบสิทธิ์ของคอนโซล 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 เพื่อขออีเมลของผู้ใช้รายนี้ แล้วแจ้งให้ลงชื่อเข้าใช้ด้วยผู้ให้บริการการลงชื่อเข้าใช้ที่ส่งคืนมา ข้อผิดพลาดนี้จะเกิดขึ้นหากเปิดใช้การตั้งค่า "1 บัญชีต่ออีเมล" ในคอนโซล Firebase ในการตั้งค่าการตรวจสอบสิทธิ์เท่านั้น |
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 |