인증 메소드의 완료 콜백이 nil이 아닌 NSError
인수를 수신하면 오류가 발생한 것입니다. 프로덕션 코드에서 적절한 오류 처리 논리로 디스패치하려면 아래 나열된 일반적인 오류 및 메서드별 오류에 대해 오류 코드를 확인하십시오.
일부 오류는 특정 사용자 작업으로 해결할 수 있습니다. 예를 들어 FIRAuthErrorCodeUserTokenExpired
는 사용자를 다시 로그인하여 해결할 수 있고 FIRAuthErrorCodeWrongPassword
는 사용자에게 올바른 암호를 제공하도록 요청하여 해결할 수 있습니다.
FIRAuthErrorCodeNetworkError
또는 FIRAuthErrorCodeTooManyRequests
의 경우를 제외하고 동일한 인수로 실패한 작업을 다시 시도하면 성공할 수 없습니다. 작업이 서버 측에서 적용되었는지 여부를 가정하지 마십시오.
오류를 조사하거나 기록할 때 userInfo
사전을 검토하십시오. FIRAuthErrorNameKey
에는 오류를 식별하는 데 사용할 수 있는 플랫폼 간 오류 이름 문자열이 포함되어 있습니다. NSLocalizedDescriptionKey
에는 오류에 대한 설명이 포함되어 있습니다. 이 설명은 사용자가 아닌 개발자를 위한 것입니다. NSUnderlyingErrorKey
는 기본 오류가 있는 경우 문제의 오류를 일으킨 기본 오류를 포함합니다.
위에 나열된 기본 필드 외에도 userInfo
사전에는 오류를 진단할 때 유용할 수 있는 다른 필드가 있을 수 있습니다.
모든 API 메소드에 공통적인 오류 코드
암호 | 의미 |
---|
FIRAuthErrorCodeNetworkError | 작업 중 네트워크 오류가 발생했음을 나타냅니다. |
FIRAuthErrorCodeUserNotFound | 사용자 계정을 찾을 수 없음을 나타냅니다. 이는 사용자 계정이 삭제된 경우 발생할 수 있습니다. |
FIRAuthErrorCodeUserTokenExpired | 현재 사용자의 토큰이 만료되었음을 나타냅니다. 예를 들어 사용자가 다른 장치에서 계정 암호를 변경했을 수 있습니다. 사용자에게 이 기기에서 다시 로그인하라는 메시지를 표시해야 합니다. |
FIRAuthErrorCodeTooManyRequests | 호출자 장치에서 Firebase 인증 서버로 비정상적인 수의 요청이 이루어진 후 요청이 차단되었음을 나타냅니다. 잠시 후 다시 시도하십시오. |
FIRAuthErrorCodeInvalidAPIKey | 애플리케이션이 잘못된 API 키로 구성되었음을 나타냅니다. |
FIRAuthErrorCodeAppNotAuthorized | 앱이 제공된 API 키로 Firebase 인증을 사용할 권한이 없음을 나타냅니다. Google API 콘솔로 이동하여 자격 증명 탭에서 사용 중인 API 키에 애플리케이션의 번들 ID가 허용 목록에 있는지 확인합니다. |
FIRAuthErrorCodeKeychainError | 키체인에 액세스할 때 오류가 발생했음을 나타냅니다. NSError.userInfo 사전의 NSLocalizedFailureReasonErrorKey 및 NSUnderlyingErrorKey 필드에는 발생한 오류에 대한 추가 정보가 포함됩니다. |
FIRAuthErrorCodeInternalError | 내부 오류가 발생했음을 나타냅니다. 전체 NSError 개체와 함께 오류를 보고하십시오 . |
방법별 오류 코드
FIRAuth
fetchProvidersForEmail:완료:
암호 | 의미 |
---|
FIRAuthErrorCodeInvalidEmail | 이메일 주소 형식이 잘못되었음을 나타냅니다. |
signInWithEmail:비밀번호:완료:
암호 | 의미 |
---|
FIRAuthErrorCodeOperationNotAllowed | 이메일 및 비밀번호 계정이 활성화되지 않았음을 나타냅니다. Firebase 콘솔 의 인증 섹션에서 활성화합니다. |
FIRAuthErrorCodeInvalidEmail | 이메일 주소 형식이 잘못되었음을 나타냅니다. |
FIRAuthErrorCodeUserDisabled | 사용자의 계정이 비활성화되었음을 나타냅니다. |
FIRAuthErrorCodeWrongPassword | 사용자가 잘못된 비밀번호로 로그인을 시도했음을 나타냅니다. |
signInWithCredential:완료:
암호 | 의미 |
---|
FIRAuthErrorCodeInvalidCredential | 제공된 자격 증명이 유효하지 않음을 나타냅니다. 만료되었거나 형식이 잘못된 경우 발생할 수 있습니다. |
FIRAuthErrorCodeInvalidEmail | 자격 증명이 EmailPasswordAuthCredential 유형인 경우 전자 메일 주소의 형식이 잘못되었음을 나타냅니다. |
FIRAuthErrorCodeOperationNotAllowed | 자격 증명이 나타내는 ID 공급자가 있는 계정이 활성화되지 않았음을 나타냅니다. Firebase 콘솔 의 인증 섹션에서 활성화합니다. |
FIRAuthErrorCodeEmailAlreadyInUse | 자격 증명으로 주장된 이메일(예: Facebook 액세스 토큰의 이메일)이 이 로그인 방법으로 인증할 수 없는 기존 계정에서 이미 사용 중임을 나타냅니다. 이 사용자의 이메일에 대해 fetchProvidersForEmail 을 호출한 다음 반환된 로그인 공급자를 사용하여 로그인하라는 메시지를 표시합니다. 이 오류는 Firebase 콘솔 의 인증 설정에서 "이메일 주소당 계정 1개" 설정이 활성화된 경우에만 발생합니다. |
FIRAuthErrorCodeUserDisabled | 사용자의 계정이 비활성화되었음을 나타냅니다. |
FIRAuthErrorCodeWrongPassword | 자격 증명이 EmailPasswordAuthCredential 유형인 경우 사용자가 잘못된 암호로 로그인을 시도했음을 나타냅니다. |
로그인 익명으로 완료:
암호 | 의미 |
---|
FIRAuthErrorCodeOperationNotAllowed | 익명 계정이 활성화되지 않았음을 나타냅니다. Firebase 콘솔 의 인증 섹션에서 활성화합니다. |
signInWithCustomToken:완료:
암호 | 의미 |
---|
FIRAuthErrorCodeInvalidCustomToken | 사용자 지정 토큰의 유효성 검사 오류를 나타냅니다. |
FIRAuthErrorCodeCustomTokenMismatch | 서비스 계정과 API 키가 다른 프로젝트에 속해 있음을 나타냅니다. |
createUserWithEmail:비밀번호:완료:
암호 | 의미 |
---|
FIRAuthErrorCodeInvalidEmail | 이메일 주소 형식이 잘못되었음을 나타냅니다. |
FIRAuthErrorCodeEmailAlreadyInUse | 가입을 시도하는 데 사용한 이메일이 이미 존재함을 나타냅니다. fetchProvidersForEmail 을 호출하여 그러한 사용자가 사용한 로그인 메커니즘을 확인하고 사용자에게 그 중 하나로 로그인하라는 메시지를 표시합니다. |
FIRAuthErrorCodeOperationNotAllowed | 이메일 및 비밀번호 계정이 활성화되지 않았음을 나타냅니다. Firebase 콘솔 의 인증 섹션에서 활성화합니다. |
FIRAuthErrorCodeWeakPassword | 너무 약한 것으로 간주되는 암호를 설정하려는 시도를 나타냅니다. NSError.userInfo 딕셔너리 객체의 NSLocalizedFailureReasonErrorKey 필드는 사용자에게 보여질 수 있는 더 자세한 설명을 포함할 것입니다. |
로그아웃:
암호 | 의미 |
---|
FIRAuthErrorCodeKeychainError | 키체인에 액세스할 때 오류가 발생했음을 나타냅니다. NSError.userInfo 사전의 NSLocalizedFailureReasonErrorKey 및 NSUnderlyingErrorKey 필드에는 발생한 오류에 대한 추가 정보가 포함됩니다. |
FIRUser
FIRUser 작업의 일반적인 오류
암호 | 의미 |
---|
FIRAuthErrorCodeInvalidUserToken | 세션 정보를 보유하고 있는 로그인한 사용자의 새로 고침 토큰이 유효하지 않음을 나타냅니다. 사용자에게 이 기기에서 다시 로그인하라는 메시지를 표시해야 합니다. |
FIRAuthErrorCodeUserDisabled | 사용자 계정이 비활성화되어 Firebase 콘솔의 사용자 패널에서 다시 활성화할 때까지 더 이상 사용할 수 없음을 나타냅니다. |
reauthenticateWithCredential:완료:
암호 | 의미 |
---|
FIRAuthErrorCodeInvalidCredential | 제공된 자격 증명이 유효하지 않음을 나타냅니다. 만료되었거나 형식이 잘못된 경우 발생할 수 있습니다. |
FIRAuthErrorCodeInvalidEmail | 자격 증명이 EmailPasswordAuthCredential 유형인 경우 전자 메일 주소의 형식이 잘못되었음을 나타냅니다. |
FIRAuthErrorCodeWrongPassword | 자격 증명이 EmailPasswordAuthCredential 유형인 경우 사용자가 잘못된 암호로 재인증을 시도했음을 나타냅니다. |
FIRAuthErrorCodeUserMismatch | 현재 사용자가 아닌 사용자로 재인증을 시도했음을 나타냅니다. |
FIRAuthErrorCodeOperationNotAllowed | 자격 증명이 나타내는 ID 공급자가 있는 계정이 활성화되지 않았음을 나타냅니다. Firebase 콘솔 의 인증 섹션에서 활성화합니다. |
FIRAuthErrorCodeEmailAlreadyInUse | 자격 증명으로 주장된 이메일(예: Facebook 액세스 토큰의 이메일)이 이 로그인 방법으로 재인증할 수 없는 기존 계정에서 이미 사용 중임을 나타냅니다. 이 사용자의 이메일에 대해 fetchProvidersForEmail 을 호출한 다음 반환된 로그인 공급자를 사용하여 로그인하라는 메시지를 표시합니다. 이 오류는 Firebase 콘솔 의 인증 설정에서 "이메일 주소당 계정 1개" 설정이 활성화된 경우에만 발생합니다. |
FIRAuthErrorCodeUserDisabled | 사용자의 계정이 비활성화되었음을 나타냅니다. |
업데이트이메일:완료:
암호 | 의미 |
---|
FIRAuthErrorCodeEmailAlreadyInUse | 이메일이 이미 다른 계정에서 사용 중임을 나타냅니다. |
FIRAuthErrorCodeInvalidEmail | 이메일 주소 형식이 잘못되었음을 나타냅니다. |
FIRAuthErrorCodeRequiresRecentLogin | 사용자의 이메일 업데이트는 사용자의 최근 로그인이 필요한 보안에 민감한 작업입니다. 이 오류는 사용자가 최근에 충분히 로그인하지 않았음을 나타냅니다. 이 문제를 해결하려면 FIRUser 에서 reauthenticateWithCredential:completion: 을 호출하여 사용자를 재인증합니다. |
updatePassword:완료:
암호 | 의미 |
---|
FIRAuthErrorCodeOperationNotAllowed | 관리자가 지정된 ID 공급자로 로그인을 비활성화했음을 나타냅니다. |
FIRAuthErrorCodeRequiresRecentLogin | 사용자 암호 업데이트는 사용자의 최근 로그인이 필요한 보안에 민감한 작업입니다. 이 오류는 사용자가 최근에 충분히 로그인하지 않았음을 나타냅니다. 이 문제를 해결하려면 FIRUser 에서 reauthenticateWithCredential:completion: 을 호출하여 사용자를 재인증합니다. |
FIRAuthErrorCodeWeakPassword | 너무 약한 것으로 간주되는 암호를 설정하려는 시도를 나타냅니다. NSError.userInfo 딕셔너리 객체의 NSLocalizedFailureReasonErrorKey 필드는 사용자에게 보여질 수 있는 더 자세한 설명을 포함할 것입니다. |
linkWithCredential:완료:
암호 | 의미 |
---|
FIRAuthErrorCodeProviderAlreadyLinked | 이 계정에 이미 연결된 유형의 공급자를 연결하려는 시도를 나타냅니다. |
FIRAuthErrorCodeCredentialAlreadyInUse | 이미 다른 Firebase 계정에 연결된 자격 증명과 연결하려는 시도를 나타냅니다. |
FIRAuthErrorCodeOperationNotAllowed | 자격 증명이 나타내는 ID 공급자가 있는 계정이 활성화되지 않았음을 나타냅니다. Firebase 콘솔 의 인증 섹션에서 활성화합니다. |
이 메서드는 FIRUser
에서 updateEmail:completion:
및 updatePassword:completion:
:과 관련된 오류 코드를 반환할 수도 있습니다.
unlinkFromProvider:완료:
암호 | 의미 |
---|
FIRAuthErrorCodeNoSuchProvider | 계정에 연결되지 않은 공급자의 연결을 해제하려는 시도를 나타냅니다. |
FIRAuthErrorCodeRequiresRecentLogin | 이메일 업데이트는 사용자의 최근 로그인이 필요한 보안에 민감한 작업입니다. 이 오류는 사용자가 최근에 충분히 로그인하지 않았음을 나타냅니다. 이 문제를 해결하려면 FIRUser 에서 reauthenticateWithCredential:completion: 을 호출하여 사용자를 재인증합니다. |
sendEmailVerificationWithCompletion:
암호 | 의미 |
---|
FIRAuthErrorCodeUserNotFound | 사용자 계정을 찾을 수 없음을 나타냅니다. |
삭제 완료:
암호 | 의미 |
---|
FIRAuthErrorCodeRequiresRecentLogin | 사용자 계정 삭제는 사용자의 최근 로그인이 필요한 보안에 민감한 작업입니다. 이 오류는 사용자가 최근에 충분히 로그인하지 않았음을 나타냅니다. 이 문제를 해결하려면 FIRUser 에서 reauthenticateWithCredential:completion: 을 호출하여 사용자를 재인증합니다. |