diff options
author | 2017-11-27 14:17:05 -0800 | |
---|---|---|
committer | 2017-11-27 14:17:05 -0800 | |
commit | 771b0f7a6574578bd1c7d1d3c333f26173f33e92 (patch) | |
tree | 41bf8e3f124059d5b13112be7a5dec69e7d1ccd3 /Example/Auth/Sample | |
parent | 8c4cd9d5413e7f458001016e5faace2b610a69ce (diff) |
Adds Auth Result to Sign In with Custom token (#489)
* Adds Auth Result to Sign In with Custom token
* Addresses comomments
Diffstat (limited to 'Example/Auth/Sample')
-rw-r--r-- | Example/Auth/Sample/MainViewController.m | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/Example/Auth/Sample/MainViewController.m b/Example/Auth/Sample/MainViewController.m index 6980ec6..5326463 100644 --- a/Example/Auth/Sample/MainViewController.m +++ b/Example/Auth/Sample/MainViewController.m @@ -118,6 +118,12 @@ static NSString *const kSignInEmailPasswordAuthDataResultButtonText = */ static NSString *const kSignInWithCustomTokenButtonText = @"Sign In (BYOAuth)"; +/** @var kSignInWithCustomAuthResultTokenButtonText + @brief The text of the "Sign In with Custom Token (Auth Result)" button. + */ +static NSString *const kSignInWithCustomAuthResultTokenButtonText = @"Sign In with Custom Token" + " (Auth Result)"; + /** @var kSignInAnonymouslyButtonText @brief The text of the "Sign In Anonymously" button. */ @@ -722,6 +728,8 @@ typedef enum { action:^{ [weakSelf signInEmailPasswordAuthDataResult]; }], [StaticContentTableViewCell cellWithTitle:kSignInWithCustomTokenButtonText action:^{ [weakSelf signInWithCustomToken]; }], + [StaticContentTableViewCell cellWithTitle:kSignInWithCustomAuthResultTokenButtonText + action:^{ [weakSelf signInWithCustomTokenAuthResult]; }], [StaticContentTableViewCell cellWithTitle:kSignInAnonymouslyButtonText action:^{ [weakSelf signInAnonymously]; }], [StaticContentTableViewCell cellWithTitle:kSignInAnonymouslyWithAuthResultButtonText @@ -1754,6 +1762,24 @@ static NSDictionary<NSString *, NSString *> *parseURL(NSString *urlString) { [self presentViewController:dataEntryViewController animated:YES completion:nil]; } +/** @fn signInWithCustomTokenAuthResult + @brief Signs the user in using a manually-entered custom token. + */ +- (void)signInWithCustomTokenAuthResult { + CustomTokenDataEntryViewControllerCompletion action = + ^(BOOL cancelled, NSString *_Nullable userEnteredTokenText) { + if (cancelled) { + [self log:@"CANCELLED:sign-in with custom token cancelled."]; + return; + } + + [self doSignInAndRetrieveDataWithCustomToken:userEnteredTokenText]; + }; + CustomTokenDataEntryViewController *dataEntryViewController = + [[CustomTokenDataEntryViewController alloc] initWithCompletion:action]; + [self presentViewController:dataEntryViewController animated:YES completion:nil]; +} + /** @fn signOut @brief Signs the user out. */ @@ -3070,6 +3096,26 @@ static NSDictionary<NSString *, NSString *> *parseURL(NSString *urlString) { }]; } +- (void)doSignInAndRetrieveDataWithCustomToken:(NSString *_Nullable)userEnteredTokenText { + [[AppManager auth] signInAndRetrieveDataWithCustomToken:userEnteredTokenText + completion:^(FIRAuthDataResult *_Nullable result, + NSError *_Nullable error) { + if (error) { + [self logFailure:@"sign-in with custom token failed" error:error]; + [self showMessagePromptWithTitle:kSignInErrorAlertTitle + message:error.localizedDescription + showCancelButton:NO + completion:nil]; + return; + } + [self logSuccess:@"sign-in with custom token succeeded."]; + [self showMessagePromptWithTitle:kSignedInAlertTitle + message:result.user.displayName + showCancelButton:NO + completion:nil]; + }]; +} + - (void)updateUserInfo { [_userInfoTableViewCell updateContentsWithUser:[AppManager auth].currentUser]; [_userInMemoryInfoTableViewCell updateContentsWithUser:_userInMemory]; |