diff options
author | Zsika Phillip <protocol86@users.noreply.github.com> | 2018-03-14 18:38:55 -0700 |
---|---|---|
committer | Paul Beusterien <paulbeusterien@google.com> | 2018-03-14 18:38:55 -0700 |
commit | 7e65885762757209e0e14ec28e99ec91380e9c2f (patch) | |
tree | 9c8820da0c68496358ec9d2d436d74f39b67ffd1 | |
parent | 7b960fdf5986b1a7ef989125fe461d08f6aa8389 (diff) |
Add sign in method constants (#923)
* Updates Changelog for 4.5.0 release
* Adds sign-in method constants
-rw-r--r-- | Example/Auth/Sample/MainViewController.m | 30 | ||||
-rw-r--r-- | Firebase/Auth/Source/FIRAuth.m | 4 | ||||
-rw-r--r-- | Firebase/Auth/Source/FIRAuthProvider.m | 25 | ||||
-rw-r--r-- | Firebase/Auth/Source/Public/FIREmailAuthProvider.h | 11 | ||||
-rw-r--r-- | Firebase/Auth/Source/Public/FIRFacebookAuthProvider.h | 5 | ||||
-rw-r--r-- | Firebase/Auth/Source/Public/FIRGitHubAuthProvider.h | 6 | ||||
-rw-r--r-- | Firebase/Auth/Source/Public/FIRGoogleAuthProvider.h | 5 | ||||
-rw-r--r-- | Firebase/Auth/Source/Public/FIRPhoneAuthProvider.h | 6 | ||||
-rw-r--r-- | Firebase/Auth/Source/Public/FIRTwitterAuthProvider.h | 6 |
9 files changed, 96 insertions, 2 deletions
diff --git a/Example/Auth/Sample/MainViewController.m b/Example/Auth/Sample/MainViewController.m index 36ef92d..f6893d1 100644 --- a/Example/Auth/Sample/MainViewController.m +++ b/Example/Auth/Sample/MainViewController.m @@ -96,6 +96,11 @@ static NSString *const kSignInGoogleButtonText = @"Sign in with Google"; */ static NSString *const kSignInWithEmailLink = @"Sign in with Email Link"; +/** @var kVerifyEmailLinkAccount + @brief The text of the "Verify Email-link Account" button. + */ +static NSString *const kVerifyEmailLinkAccount = @"Verify Email-link Account"; + /** @var kSendEmailSignInLink @brief The text of the "Send Email SignIn link" button */ @@ -739,6 +744,8 @@ typedef enum { action:^{ [weakSelf signInGoogle]; }], [StaticContentTableViewCell cellWithTitle:kSignInWithEmailLink action:^{ [weakSelf signInWithEmailLink]; }], + [StaticContentTableViewCell cellWithTitle:kVerifyEmailLinkAccount + action:^{ [weakSelf verifyEmailLinkAccount]; }], [StaticContentTableViewCell cellWithTitle:kSendEmailSignInLink action:^{ [weakSelf sendEmailSignInLink]; }], [StaticContentTableViewCell cellWithTitle:kSignInGoogleAndRetrieveDataButtonText @@ -1784,6 +1791,29 @@ static NSDictionary<NSString *, NSString *> *parseURL(NSString *urlString) { }]; } +/** @fn verifyEmailLinkAccount + @brief Invoked to verify that the current user is an email-link user. + */ +- (void)verifyEmailLinkAccount { + if (![FIRAuth auth].currentUser.email) { + [self showMessagePrompt:@"There is no signed-in user available."]; + return; + } + [[FIRAuth auth] fetchSignInMethodsForEmail:[FIRAuth auth].currentUser.email + completion:^(NSArray<NSString *> *_Nullable signInMethods, + NSError *_Nullable error) { + if (error) { + [self showMessagePrompt:@"There was an error fetching sign-in methods."]; + return; + } + if (![signInMethods containsObject:FIREmailLinkAuthSignInMethod]) { + [self showMessagePrompt:@"Error: The current user is NOT an email-link user."]; + return; + } + [self showMessagePrompt:@"The current user is an email-link user."]; + }]; +} + /** @fn sendEmailSignInLink @brief Invoked when "Send email sign-in link" row is pressed. */ diff --git a/Firebase/Auth/Source/FIRAuth.m b/Firebase/Auth/Source/FIRAuth.m index 387fab7..c4aa895 100644 --- a/Firebase/Auth/Source/FIRAuth.m +++ b/Firebase/Auth/Source/FIRAuth.m @@ -525,7 +525,7 @@ static NSMutableDictionary *gKeychainServiceNameForAppName; FIRCreateAuthURIRequest *request = [[FIRCreateAuthURIRequest alloc] initWithIdentifier:email continueURI:@"http://www.google.com/" - requestConfiguration:_requestConfiguration]; + requestConfiguration:self->_requestConfiguration]; [FIRAuthBackend createAuthURI:request callback:^(FIRCreateAuthURIResponse *_Nullable response, NSError *_Nullable error) { if (completion) { @@ -1111,7 +1111,7 @@ static NSMutableDictionary *gKeychainServiceNameForAppName; FIRGetOOBConfirmationCodeRequest *request = [FIRGetOOBConfirmationCodeRequest signInWithEmailLinkRequest:email actionCodeSettings:actionCodeSettings - requestConfiguration:_requestConfiguration]; + requestConfiguration:self->_requestConfiguration]; [FIRAuthBackend getOOBConfirmationCode:request callback:^(FIRGetOOBConfirmationCodeResponse *_Nullable response, NSError *_Nullable error) { diff --git a/Firebase/Auth/Source/FIRAuthProvider.m b/Firebase/Auth/Source/FIRAuthProvider.m index 6df86d7..72a00ef 100644 --- a/Firebase/Auth/Source/FIRAuthProvider.m +++ b/Firebase/Auth/Source/FIRAuthProvider.m @@ -16,6 +16,8 @@ #import <Foundation/Foundation.h> +#pragma mark - Provider ID constants + // Declared 'extern' in FIRGoogleAuthProvider.h NSString *const FIRGoogleAuthProviderID = @"google.com"; @@ -36,3 +38,26 @@ NSString *const FIRGitHubAuthProviderID = @"github.com"; // Declared 'extern' in FIRPhoneAuthProvider.h NSString *const FIRPhoneAuthProviderID = @"phone"; + +#pragma mark - sign-in methods constants + +// Declared 'extern' in FIRGoogleAuthProvider.h +NSString *const FIRGoogleAuthSignInMethod = @"google.com"; + +// Declared 'extern' in FIREmailAuthProvider.h +NSString *const FIREmailPasswordAuthSignInMethod = @"password"; + +// Declared 'extern' in FIREmailAuthProvider.h +NSString *const FIREmailLinkAuthSignInMethod = @"emailLink"; + +// Declared 'extern' in FIRTwitterAuthProvider.h +NSString *const FIRTwitterAuthSignInMethod = @"twitter.com"; + +// Declared 'extern' in FIRFacebookAuthProvider.h +NSString *const FIRFacebookAuthSignInMethod = @"facebook.com"; + +// Declared 'extern' in FIRGitHubAuthProvider.h +NSString *const FIRGitHubAuthSignInMethod = @"github.com"; + +// Declared 'extern' in FIRPhoneAuthProvider.h +NSString *const FIRPhoneAuthSignInMethod = @"phone"; diff --git a/Firebase/Auth/Source/Public/FIREmailAuthProvider.h b/Firebase/Auth/Source/Public/FIREmailAuthProvider.h index 5823911..b6375bd 100644 --- a/Firebase/Auth/Source/Public/FIREmailAuthProvider.h +++ b/Firebase/Auth/Source/Public/FIREmailAuthProvider.h @@ -26,6 +26,17 @@ NS_ASSUME_NONNULL_BEGIN extern NSString *const FIREmailAuthProviderID NS_SWIFT_NAME(EmailAuthProviderID); /** + @brief A string constant identifying the email-link sign-in method. + */ +extern NSString *const FIREmailLinkAuthSignInMethod NS_SWIFT_NAME(EmailLinkAuthSignInMethod); + +/** + @brief A string constant identifying the email & password sign-in method. + */ +extern NSString *const FIREmailPasswordAuthSignInMethod + NS_SWIFT_NAME(EmailPasswordAuthSignInMethod); + +/** @brief Please use `FIREmailAuthProviderID` for Objective-C or `EmailAuthProviderID` for Swift instead. */ extern NSString *const FIREmailPasswordAuthProviderID __attribute__((deprecated)); diff --git a/Firebase/Auth/Source/Public/FIRFacebookAuthProvider.h b/Firebase/Auth/Source/Public/FIRFacebookAuthProvider.h index f08740f..75efe13 100644 --- a/Firebase/Auth/Source/Public/FIRFacebookAuthProvider.h +++ b/Firebase/Auth/Source/Public/FIRFacebookAuthProvider.h @@ -25,6 +25,11 @@ NS_ASSUME_NONNULL_BEGIN */ extern NSString *const FIRFacebookAuthProviderID NS_SWIFT_NAME(FacebookAuthProviderID); +/** + @brief A string constant identifying the Facebook sign-in method. + */ +extern NSString *const _Nonnull FIRFacebookAuthSignInMethod NS_SWIFT_NAME(FacebookAuthSignInMethod); + /** @class FIRFacebookAuthProvider @brief Utility class for constructing Facebook credentials. */ diff --git a/Firebase/Auth/Source/Public/FIRGitHubAuthProvider.h b/Firebase/Auth/Source/Public/FIRGitHubAuthProvider.h index f0b5dbe..0610427 100644 --- a/Firebase/Auth/Source/Public/FIRGitHubAuthProvider.h +++ b/Firebase/Auth/Source/Public/FIRGitHubAuthProvider.h @@ -25,6 +25,12 @@ NS_ASSUME_NONNULL_BEGIN */ extern NSString *const FIRGitHubAuthProviderID NS_SWIFT_NAME(GitHubAuthProviderID); +/** + @brief A string constant identifying the GitHub sign-in method. + */ +extern NSString *const _Nonnull FIRGitHubAuthSignInMethod NS_SWIFT_NAME(GitHubAuthSignInMethod); + + /** @class FIRGitHubAuthProvider @brief Utility class for constructing GitHub credentials. */ diff --git a/Firebase/Auth/Source/Public/FIRGoogleAuthProvider.h b/Firebase/Auth/Source/Public/FIRGoogleAuthProvider.h index e80d87e..7d6fa22 100644 --- a/Firebase/Auth/Source/Public/FIRGoogleAuthProvider.h +++ b/Firebase/Auth/Source/Public/FIRGoogleAuthProvider.h @@ -25,6 +25,11 @@ NS_ASSUME_NONNULL_BEGIN */ extern NSString *const FIRGoogleAuthProviderID NS_SWIFT_NAME(GoogleAuthProviderID); +/** + @brief A string constant identifying the Google sign-in method. + */ +extern NSString *const _Nonnull FIRGoogleAuthSignInMethod NS_SWIFT_NAME(GoogleAuthSignInMethod); + /** @class FIRGoogleAuthProvider @brief Utility class for constructing Google Sign In credentials. */ diff --git a/Firebase/Auth/Source/Public/FIRPhoneAuthProvider.h b/Firebase/Auth/Source/Public/FIRPhoneAuthProvider.h index 34db683..bd68e84 100644 --- a/Firebase/Auth/Source/Public/FIRPhoneAuthProvider.h +++ b/Firebase/Auth/Source/Public/FIRPhoneAuthProvider.h @@ -27,6 +27,12 @@ NS_ASSUME_NONNULL_BEGIN */ extern NSString *const FIRPhoneAuthProviderID NS_SWIFT_NAME(PhoneAuthProviderID); +/** @var FIRPhoneAuthProviderID + @brief A string constant identifying the phone sign-in method. + */ +extern NSString *const _Nonnull FIRPhoneAuthSignInMethod NS_SWIFT_NAME(PhoneAuthSignInMethod); + + /** @typedef FIRVerificationResultCallback @brief The type of block invoked when a request to send a verification code has finished. diff --git a/Firebase/Auth/Source/Public/FIRTwitterAuthProvider.h b/Firebase/Auth/Source/Public/FIRTwitterAuthProvider.h index 2ef32f7..a0d1166 100644 --- a/Firebase/Auth/Source/Public/FIRTwitterAuthProvider.h +++ b/Firebase/Auth/Source/Public/FIRTwitterAuthProvider.h @@ -25,6 +25,12 @@ NS_ASSUME_NONNULL_BEGIN */ extern NSString *const FIRTwitterAuthProviderID NS_SWIFT_NAME(TwitterAuthProviderID); +/** + @brief A string constant identifying the Twitter sign-in method. + */ +extern NSString *const _Nonnull FIRTwitterAuthSignInMethod NS_SWIFT_NAME(TwitterAuthSignInMethod); + + /** @class FIRTwitterAuthProvider @brief Utility class for constructing Twitter credentials. */ |