Skip to content

Commit 91ceae1

Browse files
authored
Add support of error MISSING_CLIENT_IDENTIFIER (#3341)
1 parent a5da88d commit 91ceae1

File tree

5 files changed

+32
-4
lines changed

5 files changed

+32
-4
lines changed

Firebase/Auth/Source/Backend/FIRAuthBackend.m

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1169,10 +1169,7 @@ + (nullable NSError *)clientErrorWithServerErrorMessage:(NSString *)serverErrorM
11691169
}
11701170

11711171
if ([shortErrorMessage isEqualToString:kMissingClientIdentifier]) {
1172-
return [FIRAuthErrorUtils appNotVerifiedErrorWithMessage:@"Missing app verification via"
1173-
" reCAPTCHA or APNS token. Please verify that appVerificationDisabledForTesting is not"
1174-
" enabled when testing with a phone number that is not marked as a test Phone number in the"
1175-
" app console."];
1172+
return [FIRAuthErrorUtils missingClientIdentifierErrorWithMessage:serverErrorMessage];
11761173
}
11771174

11781175
if ([shortErrorMessage isEqualToString:kCaptchaCheckFailedErrorMessage]) {

Firebase/Auth/Source/Public/FIRAuthErrors.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -335,6 +335,10 @@ typedef NS_ENUM(NSInteger, FIRAuthErrorCode) {
335335
*/
336336
FIRAuthErrorCodeGameKitNotLinked = 17076,
337337

338+
/** Indicates an error for when the client identifier is missing.
339+
*/
340+
FIRAuthErrorCodeMissingClientIdentifier = 17993,
341+
338342
/** Indicates an error occurred while attempting to access the keychain.
339343
*/
340344
FIRAuthErrorCodeKeychainError = 17995,

Firebase/Auth/Source/Utilities/FIRAuthErrorUtils.h

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -473,6 +473,13 @@ NS_ASSUME_NONNULL_BEGIN
473473
*/
474474
+ (NSError *)appNotVerifiedErrorWithMessage:(nullable NSString *)message;
475475

476+
/** @fn missingClientIdentifierErrorWithMessage:
477+
@brief Constructs an @c NSError with the @c FIRAuthErrorCodeMissingClientIdentifier code.
478+
@param message Error message from the backend, if any.
479+
@return The NSError instance associated with the given FIRAuthError.
480+
*/
481+
+ (NSError *)missingClientIdentifierErrorWithMessage:(nullable NSString *)message;
482+
476483
/** @fn captchaCheckFailedErrorWithMessage:
477484
@brief Constructs an @c NSError with the @c FIRAuthErrorCaptchaCheckFailed code.
478485
@param message Error message from the backend, if any.

Firebase/Auth/Source/Utilities/FIRAuthErrorUtils.m

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -157,6 +157,12 @@
157157
"keychain. The @c NSLocalizedFailureReasonErrorKey field in the @c NSError.userInfo dictionary "
158158
"will contain more information about the error encountered";
159159

160+
/** @var kFIRAuthErrorMessageMissingClientIdentifier
161+
@brief Message for @c FIRAuthErrorCodeMissingClientIdentifier error code.
162+
*/
163+
static NSString *const kFIRAuthErrorMessageMissingClientIdentifier = @"The request does not contain "
164+
"any client identifier.";
165+
160166
/** @var kFIRAuthErrorMessageUserTokenExpired
161167
@brief Message for @c FIRAuthErrorCodeTokenExpired error code.
162168
*/
@@ -481,6 +487,8 @@
481487
return kFIRAuthErrorMessageNetworkError;
482488
case FIRAuthErrorCodeKeychainError:
483489
return kFIRAuthErrorMessageKeychainError;
490+
case FIRAuthErrorCodeMissingClientIdentifier:
491+
return kFIRAuthErrorMessageMissingClientIdentifier;
484492
case FIRAuthErrorCodeUserTokenExpired:
485493
return kFIRAuthErrorMessageUserTokenExpired;
486494
case FIRAuthErrorCodeUserNotFound:
@@ -614,6 +622,8 @@
614622
return @"ERROR_NETWORK_REQUEST_FAILED";
615623
case FIRAuthErrorCodeKeychainError:
616624
return @"ERROR_KEYCHAIN_ERROR";
625+
case FIRAuthErrorCodeMissingClientIdentifier:
626+
return @"ERROR_MISSING_CLIENT_IDENTIFIER";
617627
case FIRAuthErrorCodeUserTokenExpired:
618628
return @"ERROR_USER_TOKEN_EXPIRED";
619629
case FIRAuthErrorCodeUserNotFound:
@@ -1086,6 +1096,10 @@ + (NSError *)appNotVerifiedErrorWithMessage:(nullable NSString *)message {
10861096
return [self errorWithCode:FIRAuthInternalErrorCodeAppNotVerified message:message];
10871097
}
10881098

1099+
+ (NSError *)missingClientIdentifierErrorWithMessage:(nullable NSString *)message {
1100+
return [self errorWithCode:FIRAuthInternalErrorCodeMissingClientIdentifier message:message];
1101+
}
1102+
10891103
+ (NSError *)captchaCheckFailedErrorWithMessage:(nullable NSString *)message {
10901104
return [self errorWithCode:FIRAuthInternalErrorCodeCaptchaCheckFailed message:message];
10911105
}

Firebase/Auth/Source/Utilities/FIRAuthInternalErrors.h

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,12 @@ typedef NS_ENUM(NSInteger, FIRAuthInternalErrorCode) {
9292
FIRAuthInternalErrorCodeKeychainError =
9393
FIRAuthPublicErrorCodeFlag | FIRAuthErrorCodeKeychainError,
9494

95+
/** @var FIRAuthInternalErrorCodeMissingClientIdentifier
96+
@brief Indicates an error for when the client identifier is missing.
97+
*/
98+
FIRAuthInternalErrorCodeMissingClientIdentifier =
99+
FIRAuthPublicErrorCodeFlag | FIRAuthErrorCodeMissingClientIdentifier,
100+
95101
/** @var FIRAuthInternalErrorCodeInternalError
96102
@brief An internal error occurred.
97103
@remarks This value is here for consistency. It's also used to make the implementation of

0 commit comments

Comments
 (0)