Nếu lệnh gọi lại hoàn thành trên các phương thức Xác thực nhận được đối số NSError
khác 0 thì đã xảy ra lỗi. Để gửi đến logic xử lý lỗi thích hợp trong mã sản xuất của bạn, hãy kiểm tra mã lỗi đối với các lỗi phổ biến và các lỗi cụ thể của phương pháp được liệt kê bên dưới.
Một số lỗi có thể được giải quyết bằng hành động cụ thể của người dùng, ví dụ: FIRAuthErrorCodeUserTokenExpired
có thể được giải quyết bằng cách đăng nhập lại người dùng và FIRAuthErrorCodeWrongPassword
bằng cách yêu cầu người dùng cung cấp đúng mật khẩu.
Ngoại trừ trường hợp FIRAuthErrorCodeNetworkError
hoặc FIRAuthErrorCodeTooManyRequests
, việc thử lại một thao tác thất bại với cùng các đối số sẽ không bao giờ thành công. Không đưa ra giả định về việc hoạt động có hiệu lực ở phía máy chủ hay không.
Khi điều tra hoặc ghi nhật ký lỗi, hãy xem lại từ điển userInfo
. FIRAuthErrorNameKey
chứa chuỗi tên lỗi đa nền tảng có thể được sử dụng để xác định lỗi. NSLocalizedDescriptionKey
chứa mô tả lỗi. Mô tả này dành cho nhà phát triển, không phải người dùng. NSUnderlyingErrorKey
chứa lỗi cơ bản gây ra lỗi được đề cập, nếu có lỗi cơ bản.
Ngoài các trường chính được liệt kê ở trên, có thể có các trường khác trong từ điển userInfo
mà bạn có thể thấy hữu ích khi chẩn đoán lỗi.
Mã lỗi phổ biến cho tất cả các phương pháp API
Mã số | Nghĩa |
---|
FIRAuthErrorCodeNetworkError | Cho biết đã xảy ra lỗi mạng trong quá trình hoạt động. |
FIRAuthErrorCodeUserNotFound | Cho biết tài khoản người dùng không được tìm thấy. Điều này có thể xảy ra nếu tài khoản người dùng đã bị xóa. |
FIRAuthErrorCodeUserTokenExpired | Cho biết mã thông báo của người dùng hiện tại đã hết hạn, ví dụ: người dùng có thể đã thay đổi mật khẩu tài khoản trên thiết bị khác. Bạn phải nhắc người dùng đăng nhập lại trên thiết bị này. |
FIRAuthErrorCodeTooManyRequests | Cho biết rằng yêu cầu đã bị chặn sau khi có số lượng yêu cầu bất thường được thực hiện từ thiết bị người gọi đến máy chủ Xác thực Firebase. Hãy thử lại sau một thời gian. |
FIRAuthErrorCodeInvalidAPIKey | Cho biết ứng dụng đã được định cấu hình bằng khóa API không hợp lệ. |
FIRAuthErrorCodeAppNotAuthorized | Cho biết Ứng dụng không được phép sử dụng Xác thực Firebase bằng Khóa API được cung cấp. đi tới Bảng điều khiển API của Google và kiểm tra trong tab thông tin xác thực xem khóa API bạn đang sử dụng có nằm trong danh sách cho phép ID gói ứng dụng của bạn hay không. |
FIRAuthErrorCodeKeychainError | Cho biết đã xảy ra lỗi khi truy cập vào chuỗi khóa. Các trường NSLocalizedFailureReasonErrorKey và NSUnderlyingErrorKey trong từ điển NSError.userInfo sẽ chứa nhiều thông tin hơn về lỗi gặp phải. |
FIRAuthErrorCodeInternalError | Cho biết đã xảy ra lỗi nội bộ. Vui lòng báo cáo lỗi với toàn bộ đối tượng NSError . |
Mã lỗi cụ thể của phương pháp
FIRAuth
tìm nạpProvidersForEmail:hoàn thành:
Mã số | Nghĩa |
---|
FIRAuthErrorCodeInvalidEmail | Cho biết địa chỉ email không đúng định dạng. |
signInWithEmail:mật khẩu:hoàn thành:
Mã số | Nghĩa |
---|
FIRAuthErrorCodeOperationNotAllowed | Cho biết tài khoản email và mật khẩu chưa được kích hoạt. Kích hoạt chúng trong phần Xác thực của bảng điều khiển Firebase . |
FIRAuthErrorCodeInvalidEmail | Cho biết địa chỉ email không đúng định dạng. |
FIRAuthErrorCodeUserDisabled | Cho biết tài khoản của người dùng đã bị vô hiệu hóa. |
FIRAuthErrorCodeWrongPassword | Cho biết người dùng đã cố đăng nhập bằng mật khẩu sai. |
signInWithCredential:hoàn thành:
Mã số | Nghĩa |
---|
FIRAuthErrorCodeInvalidCredential | Cho biết thông tin xác thực được cung cấp không hợp lệ. Điều này có thể xảy ra nếu nó đã hết hạn hoặc bị sai định dạng. |
FIRAuthErrorCodeInvalidEmail | Cho biết địa chỉ email không đúng định dạng nếu thông tin xác thực thuộc loại EmailPasswordAuthCredential . |
FIRAuthErrorCodeOperationNotAllowed | Cho biết rằng các tài khoản có nhà cung cấp danh tính được đại diện bởi thông tin xác thực không được bật. Kích hoạt chúng trong phần Xác thực của bảng điều khiển Firebase . |
FIRAuthErrorCodeEmailAlreadyInUse | Cho biết email được xác nhận bằng thông tin xác thực (ví dụ: email trong mã thông báo truy cập Facebook) đã được tài khoản hiện tại sử dụng và không thể xác thực bằng phương thức đăng nhập này. Gọi fetchProvidersForEmail để biết email của người dùng này rồi nhắc họ đăng nhập bằng bất kỳ nhà cung cấp dịch vụ đăng nhập nào được trả về. Lỗi này sẽ chỉ xảy ra nếu cài đặt "Một tài khoản cho mỗi địa chỉ email" được bật trong bảng điều khiển Firebase , trong cài đặt Xác thực. |
FIRAuthErrorCodeUserDisabled | Cho biết tài khoản của người dùng đã bị vô hiệu hóa. |
FIRAuthErrorCodeWrongPassword | Cho biết người dùng đã cố đăng nhập bằng mật khẩu sai, nếu thông tin xác thực thuộc loại EmailPasswordAuthCredential . |
signInAnonymousWithCompletion:
Mã số | Nghĩa |
---|
FIRAuthErrorCodeOperationNotAllowed | Cho biết tài khoản ẩn danh không được kích hoạt. Kích hoạt chúng trong phần Xác thực của bảng điều khiển Firebase . |
signInWithCustomToken:hoàn thành:
Mã số | Nghĩa |
---|
FIRAuthErrorCodeInvalidCustomToken | Cho biết lỗi xác thực với mã thông báo tùy chỉnh. |
FIRAuthErrorCodeCustomTokenMismatch | Cho biết tài khoản dịch vụ và khóa API thuộc về các dự án khác nhau. |
createUserWithEmail:password:completion:
Mã số | Nghĩa |
---|
FIRAuthErrorCodeInvalidEmail | Cho biết địa chỉ email không đúng định dạng. |
FIRAuthErrorCodeEmailAlreadyInUse | Cho biết email được sử dụng để thử đăng ký đã tồn tại. Gọi fetchProvidersForEmail để kiểm tra xem người dùng đó đã sử dụng cơ chế đăng nhập nào và nhắc người dùng đăng nhập bằng một trong những cơ chế đó. |
FIRAuthErrorCodeOperationNotAllowed | Cho biết tài khoản email và mật khẩu chưa được kích hoạt. Kích hoạt chúng trong phần Xác thực của bảng điều khiển Firebase . |
FIRAuthErrorCodeWeakPassword | Cho biết nỗ lực đặt mật khẩu được coi là quá yếu. Trường NSLocalizedFailureReasonErrorKey trong đối tượng từ điển NSError.userInfo sẽ chứa lời giải thích chi tiết hơn có thể được hiển thị cho người dùng. |
đăng xuất:
Mã số | Nghĩa |
---|
FIRAuthErrorCodeKeychainError | Cho biết đã xảy ra lỗi khi truy cập vào chuỗi khóa. Các trường NSLocalizedFailureReasonErrorKey và NSUnderlyingErrorKey trong từ điển NSError.userInfo sẽ chứa nhiều thông tin hơn về lỗi gặp phải. |
FIRUser
Các lỗi thường gặp đối với hoạt động của FIRUser
Mã số | Nghĩa |
---|
FIRAuthErrorCodeInvalidUserToken | Cho biết rằng mã thông báo làm mới của người dùng đã đăng nhập chứa thông tin phiên không hợp lệ. Bạn phải nhắc người dùng đăng nhập lại trên thiết bị này. |
FIRAuthErrorCodeUserDisabled | Cho biết tài khoản của người dùng đã bị vô hiệu hóa và không thể sử dụng được nữa cho đến khi được bật lại từ trong bảng Người dùng trong bảng điều khiển Firebase. |
xác thực lạiWithCredential:hoàn thành:
Mã số | Nghĩa |
---|
FIRAuthErrorCodeInvalidCredential | Cho biết thông tin xác thực được cung cấp không hợp lệ. Điều này có thể xảy ra nếu nó đã hết hạn hoặc bị sai định dạng. |
FIRAuthErrorCodeInvalidEmail | Cho biết địa chỉ email không đúng định dạng nếu thông tin xác thực thuộc loại EmailPasswordAuthCredential . |
FIRAuthErrorCodeWrongPassword | Cho biết người dùng đã cố gắng xác thực lại bằng mật khẩu không chính xác, nếu thông tin xác thực thuộc loại EmailPasswordAuthCredential . |
FIRAuthErrorCodeUserMismatch | Cho biết rằng đã có nỗ lực xác thực lại với người dùng không phải là người dùng hiện tại. |
FIRAuthErrorCodeOperationNotAllowed | Cho biết rằng các tài khoản có nhà cung cấp danh tính được đại diện bởi thông tin xác thực không được bật. Kích hoạt chúng trong phần Xác thực của bảng điều khiển Firebase . |
FIRAuthErrorCodeEmailAlreadyInUse | Cho biết email được xác nhận bằng thông tin xác thực (ví dụ: email trong mã thông báo truy cập Facebook) đã được tài khoản hiện tại sử dụng và không thể xác thực lại bằng phương thức đăng nhập này. Gọi fetchProvidersForEmail để biết email của người dùng này rồi nhắc họ đăng nhập bằng bất kỳ nhà cung cấp dịch vụ đăng nhập nào được trả về. Lỗi này sẽ chỉ xảy ra nếu cài đặt "Một tài khoản cho mỗi địa chỉ email" được bật trong bảng điều khiển Firebase , trong cài đặt Xác thực. |
FIRAuthErrorCodeUserDisabled | Cho biết tài khoản của người dùng đã bị vô hiệu hóa. |
cập nhậtEmail:hoàn thành:
Mã số | Nghĩa |
---|
FIRAuthErrorCodeEmailAlreadyInUse | Cho biết email đã được sử dụng bởi một tài khoản khác. |
FIRAuthErrorCodeInvalidEmail | Cho biết địa chỉ email không đúng định dạng. |
FIRAuthErrorCodeRequiresRecentLogin | Cập nhật email của người dùng là một hoạt động nhạy cảm về bảo mật yêu cầu người dùng phải đăng nhập gần đây. Lỗi này cho thấy người dùng chưa đăng nhập đủ gần đây. Để giải quyết, hãy xác thực lại người dùng bằng cách gọi reauthenticateWithCredential:completion: trên FIRUser . |
cập nhậtMật khẩu:hoàn thành:
Mã số | Nghĩa |
---|
FIRAuthErrorCodeOperationNotAllowed | Cho biết quản trị viên đã vô hiệu hóa đăng nhập bằng nhà cung cấp danh tính được chỉ định. |
FIRAuthErrorCodeRequiresRecentLogin | Cập nhật mật khẩu của người dùng là một thao tác nhạy cảm về bảo mật yêu cầu người dùng phải đăng nhập gần đây. Lỗi này cho thấy người dùng chưa đăng nhập đủ gần đây. Để giải quyết, hãy xác thực lại người dùng bằng cách gọi reauthenticateWithCredential:completion: trên FIRUser . |
FIRAuthErrorCodeWeakPassword | Cho biết nỗ lực đặt mật khẩu được coi là quá yếu. Trường NSLocalizedFailureReasonErrorKey trong đối tượng từ điển NSError.userInfo sẽ chứa lời giải thích chi tiết hơn có thể được hiển thị cho người dùng. |
linkWithCredential:hoàn thành:
Mã số | Nghĩa |
---|
FIRAuthErrorCodeProviderAlreadyLinked | Cho biết nỗ lực liên kết một nhà cung cấp thuộc loại đã được liên kết với tài khoản này. |
FIRAuthErrorCodeCredentialAlreadyInUse | Cho biết nỗ lực liên kết với thông tin xác thực đã được liên kết với tài khoản Firebase khác. |
FIRAuthErrorCodeOperationNotAllowed | Cho biết rằng các tài khoản có nhà cung cấp danh tính được đại diện bởi thông tin xác thực không được bật. Kích hoạt chúng trong phần Xác thực của bảng điều khiển Firebase . |
Phương pháp này cũng có thể trả về mã lỗi liên quan đến updateEmail:completion:
và updatePassword:completion:
trên FIRUser
.
unlinkFromProvider:hoàn thành:
Mã số | Nghĩa |
---|
FIRAuthErrorCodeNoSuchProvider | Cho biết nỗ lực hủy liên kết một nhà cung cấp không được liên kết với tài khoản. |
FIRAuthErrorCodeRequiresRecentLogin | Cập nhật email là một hoạt động nhạy cảm về bảo mật yêu cầu người dùng phải đăng nhập gần đây. Lỗi này cho thấy người dùng chưa đăng nhập gần đây. Để giải quyết, hãy xác thực lại người dùng bằng cách gọi reauthenticateWithCredential:completion: trên FIRUser . |
gửiEmailVerificationWithCompletion:
Mã số | Nghĩa |
---|
FIRAuthErrorCodeUserNotFound | Cho biết tài khoản người dùng không được tìm thấy. |
xóaWithCompletion:
Mã số | Nghĩa |
---|
FIRAuthErrorCodeRequiresRecentLogin | Xóa tài khoản người dùng là một thao tác nhạy cảm về bảo mật yêu cầu người dùng phải đăng nhập gần đây. Lỗi này cho thấy người dùng chưa đăng nhập đủ gần đây. Để giải quyết, hãy xác thực lại người dùng bằng cách gọi reauthenticateWithCredential:completion: trên FIRUser . |