aboutsummaryrefslogtreecommitdiffhomepage
path: root/Example/Auth/Sample
diff options
context:
space:
mode:
authorGravatar Zsika Phillip <protocol86@users.noreply.github.com>2017-11-27 14:17:05 -0800
committerGravatar GitHub <noreply@github.com>2017-11-27 14:17:05 -0800
commit771b0f7a6574578bd1c7d1d3c333f26173f33e92 (patch)
tree41bf8e3f124059d5b13112be7a5dec69e7d1ccd3 /Example/Auth/Sample
parent8c4cd9d5413e7f458001016e5faace2b610a69ce (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.m46
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];