diff options
Diffstat (limited to 'Firebase/Auth/Source/FIRUser.m')
-rw-r--r-- | Firebase/Auth/Source/FIRUser.m | 62 |
1 files changed, 48 insertions, 14 deletions
diff --git a/Firebase/Auth/Source/FIRUser.m b/Firebase/Auth/Source/FIRUser.m index 82c8bb8..f19c9a1 100644 --- a/Firebase/Auth/Source/FIRUser.m +++ b/Firebase/Auth/Source/FIRUser.m @@ -31,6 +31,7 @@ #import "FIRSecureTokenService.h" #import "FIRUserInfoImpl.h" #import "FIRAuthBackend.h" +#import "FIRAuthRequestConfiguration.h" #import "FIRDeleteAccountRequest.h" #import "FIRDeleteAccountResponse.h" #import "FIRGetAccountInfoRequest.h" @@ -215,7 +216,7 @@ static void callInMainThreadWithAuthDataResultAndError( */ NSDictionary<NSString *, FIRUserInfoImpl *> *_providerData; - /** @var _APIKey + /** @var _APIKey @brief The application's API Key. */ NSString *_APIKey; @@ -262,7 +263,8 @@ static void callInMainThreadWithAuthDataResultAndError( return; } FIRGetAccountInfoRequest *getAccountInfoRequest = - [[FIRGetAccountInfoRequest alloc] initWithAPIKey:APIKey accessToken:accessToken]; + [[FIRGetAccountInfoRequest alloc] initWithAccessToken:accessToken + requestConfiguration:[FIRAuth auth].requestConfiguration]; [FIRAuthBackend getAccountInfo:getAccountInfoRequest callback:^(FIRGetAccountInfoResponse *_Nullable response, NSError *_Nullable error) { @@ -387,7 +389,8 @@ static void callInMainThreadWithAuthDataResultAndError( return; } FIRGetAccountInfoRequest *getAccountInfoRequest = - [[FIRGetAccountInfoRequest alloc] initWithAPIKey:_APIKey accessToken:accessToken]; + [[FIRGetAccountInfoRequest alloc] initWithAccessToken:accessToken + requestConfiguration:_auth.requestConfiguration]; [FIRAuthBackend getAccountInfo:getAccountInfoRequest callback:^(FIRGetAccountInfoResponse *_Nullable response, NSError *_Nullable error) { @@ -452,9 +455,11 @@ static void callInMainThreadWithAuthDataResultAndError( callback(error); return; } + FIRAuthRequestConfiguration *configuration = + _auth.requestConfiguration; // Mutate setAccountInfoRequest in block: FIRSetAccountInfoRequest *setAccountInfoRequest = - [[FIRSetAccountInfoRequest alloc] initWithAPIKey:_APIKey]; + [[FIRSetAccountInfoRequest alloc] initWithRequestConfiguration:configuration]; setAccountInfoRequest.accessToken = accessToken; changeBlock(user, setAccountInfoRequest); // Execute request: @@ -571,8 +576,10 @@ static void callInMainThreadWithAuthDataResultAndError( callback(error); return; } + FIRAuthRequestConfiguration *requestConfiguration = _auth.requestConfiguration; FIRGetAccountInfoRequest *getAccountInfoRequest = - [[FIRGetAccountInfoRequest alloc] initWithAPIKey:_APIKey accessToken:accessToken]; + [[FIRGetAccountInfoRequest alloc] initWithAccessToken:accessToken + requestConfiguration:requestConfiguration]; [FIRAuthBackend getAccountInfo:getAccountInfoRequest callback:^(FIRGetAccountInfoResponse *_Nullable response, NSError *_Nullable error) { @@ -638,7 +645,7 @@ static void callInMainThreadWithAuthDataResultAndError( FIRVerifyPhoneNumberRequest *request = [[FIRVerifyPhoneNumberRequest alloc] initWithVerificationID:phoneAuthCredential.verificationID verificationCode:phoneAuthCredential.verificationCode - APIKey:_APIKey]; + requestConfiguration:_auth.requestConfiguration]; request.accessToken = accessToken; [FIRAuthBackend verifyPhoneNumber:request callback:^(FIRVerifyPhoneNumberResponse *_Nullable response, @@ -882,8 +889,10 @@ static void callInMainThreadWithAuthDataResultAndError( completeWithError(nil, error); return; } + FIRAuthRequestConfiguration *requestConfiguration = _auth.requestConfiguration; FIRVerifyAssertionRequest *request = - [[FIRVerifyAssertionRequest alloc] initWithAPIKey:_APIKey providerID:credential.provider]; + [[FIRVerifyAssertionRequest alloc] initWithProviderID:credential.provider + requestConfiguration:requestConfiguration]; [credential prepareVerifyAssertionRequest:request]; request.accessToken = accessToken; [FIRAuthBackend verifyAssertion:request @@ -909,7 +918,8 @@ static void callInMainThreadWithAuthDataResultAndError( return; } FIRGetAccountInfoRequest *getAccountInfoRequest = - [[FIRGetAccountInfoRequest alloc] initWithAPIKey:_APIKey accessToken:accessToken]; + [[FIRGetAccountInfoRequest alloc] initWithAccessToken:accessToken + requestConfiguration:requestConfiguration]; [FIRAuthBackend getAccountInfo:getAccountInfoRequest callback:^(FIRGetAccountInfoResponse *_Nullable response, NSError *_Nullable error) { @@ -945,8 +955,9 @@ static void callInMainThreadWithAuthDataResultAndError( completeAndCallbackWithError(error); return; } + FIRAuthRequestConfiguration *requestConfiguration = _auth.requestConfiguration; FIRSetAccountInfoRequest *setAccountInfoRequest = - [[FIRSetAccountInfoRequest alloc] initWithAPIKey:_APIKey]; + [[FIRSetAccountInfoRequest alloc] initWithRequestConfiguration:requestConfiguration]; setAccountInfoRequest.accessToken = accessToken; BOOL isEmailPasswordProvider = [provider isEqualToString:FIREmailAuthProviderID]; if (isEmailPasswordProvider) { @@ -1008,6 +1019,27 @@ static void callInMainThreadWithAuthDataResultAndError( } - (void)sendEmailVerificationWithCompletion:(nullable FIRSendEmailVerificationCallback)completion { + [self sendEmailVerificationWithNullableActionCodeSettings:nil completion:completion]; +} + +- (void)sendEmailVerificationWithActionCodeSettings:(FIRActionCodeSettings *)actionCodeSettings + completion:(nullable FIRSendEmailVerificationCallback) + completion { + [self sendEmailVerificationWithNullableActionCodeSettings:actionCodeSettings + completion:completion]; +} + +/** @fn sendEmailVerificationWithNullableActionCodeSettings:completion: + @brief Initiates email verification for the user. + + @param actionCodeSettings Optionally, a @c FIRActionCodeSettings object containing settings + related to the handling action codes. + */ +- (void)sendEmailVerificationWithNullableActionCodeSettings:(nullable FIRActionCodeSettings *) + actionCodeSettings + completion: + (nullable FIRSendEmailVerificationCallback) + completion { dispatch_async(FIRAuthGlobalWorkQueue(), ^{ [self internalGetTokenWithCallback:^(NSString *_Nullable accessToken, NSError *_Nullable error) { @@ -1015,9 +1047,11 @@ static void callInMainThreadWithAuthDataResultAndError( callInMainThreadWithError(completion, error); return; } + FIRAuthRequestConfiguration *configuration = _auth.requestConfiguration; FIRGetOOBConfirmationCodeRequest *request = [FIRGetOOBConfirmationCodeRequest verifyEmailRequestWithAccessToken:accessToken - APIKey:_APIKey]; + actionCodeSettings:actionCodeSettings + requestConfiguration:configuration]; [FIRAuthBackend getOOBConfirmationCode:request callback:^(FIRGetOOBConfirmationCodeResponse *_Nullable response, @@ -1037,15 +1071,15 @@ static void callInMainThreadWithAuthDataResultAndError( return; } FIRDeleteAccountRequest *deleteUserRequest = - [[FIRDeleteAccountRequest alloc] initWithAPIKey:_APIKey - localID:_userID - accessToken:accessToken]; + [[FIRDeleteAccountRequest alloc] initWitLocalID:_userID + accessToken:accessToken + requestConfiguration:_auth.requestConfiguration]; [FIRAuthBackend deleteAccount:deleteUserRequest callback:^(NSError *_Nullable error) { if (error) { callInMainThreadWithError(completion, error); return; } - if (![[FIRAuth auth] signOutByForceWithUserID:_userID error:&error]) { + if (![_auth signOutByForceWithUserID:_userID error:&error]) { callInMainThreadWithError(completion, error); return; } |