aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar Zsika Phillip <protocol86@users.noreply.github.com>2018-03-14 18:38:55 -0700
committerGravatar Paul Beusterien <paulbeusterien@google.com>2018-03-14 18:38:55 -0700
commit7e65885762757209e0e14ec28e99ec91380e9c2f (patch)
tree9c8820da0c68496358ec9d2d436d74f39b67ffd1
parent7b960fdf5986b1a7ef989125fe461d08f6aa8389 (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.m30
-rw-r--r--Firebase/Auth/Source/FIRAuth.m4
-rw-r--r--Firebase/Auth/Source/FIRAuthProvider.m25
-rw-r--r--Firebase/Auth/Source/Public/FIREmailAuthProvider.h11
-rw-r--r--Firebase/Auth/Source/Public/FIRFacebookAuthProvider.h5
-rw-r--r--Firebase/Auth/Source/Public/FIRGitHubAuthProvider.h6
-rw-r--r--Firebase/Auth/Source/Public/FIRGoogleAuthProvider.h5
-rw-r--r--Firebase/Auth/Source/Public/FIRPhoneAuthProvider.h6
-rw-r--r--Firebase/Auth/Source/Public/FIRTwitterAuthProvider.h6
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.
*/