@@ -67,14 +67,10 @@ @implementation FirestackAuth
6767}
6868
6969RCT_EXPORT_METHOD (signInWithProvider:
70- (NSString *)provider
71- token:(NSString *)authToken
72- secret:(NSString *)authTokenSecret
70+ (NSDictionary *)credentialData
7371 callback:(RCTResponseSenderBlock)callback)
7472{
75- FIRAuthCredential *credential = [self getCredentialForProvider: provider
76- token: authToken
77- secret: authTokenSecret];
73+ FIRAuthCredential *credential = [self getCredentialForProvider: credentialData];
7874 if (credential == nil ) {
7975 NSDictionary *err = @{
8076 @" error" : @" Unhandled provider"
@@ -340,14 +336,10 @@ @implementation FirestackAuth
340336}
341337
342338RCT_EXPORT_METHOD (reauthenticateWithCredentialForProvider:
343- (NSString *)provider
344- token:(NSString *)authToken
345- secret:(NSString *)authTokenSecret
339+ (NSDictionary *)credentialData
346340 callback:(RCTResponseSenderBlock)callback)
347341{
348- FIRAuthCredential *credential = [self getCredentialForProvider: provider
349- token: authToken
350- secret: authTokenSecret];
342+ FIRAuthCredential *credential = [self getCredentialForProvider: credentialData];
351343 if (credential == nil ) {
352344 NSDictionary *err = @{
353345 @" error" : @" Unhandled provider"
@@ -440,19 +432,23 @@ - (void) userPropsFromFIRUserWithToken:(FIRUser *) user
440432 }];
441433}
442434
443- - (FIRAuthCredential *)getCredentialForProvider : (NSString *)provider
444- token : (NSString *)authToken
445- secret : (NSString *)authTokenSecret
435+ - (FIRAuthCredential *)getCredentialForProvider : (NSDictionary *)credentialData
446436{
447437 FIRAuthCredential *credential;
448- if ([provider compare: @" twitter" options: NSCaseInsensitiveSearch] == NSOrderedSame) {
449- credential = [FIRTwitterAuthProvider credentialWithToken: authToken
450- secret: authTokenSecret];
451- } else if ([provider compare: @" facebook" options: NSCaseInsensitiveSearch] == NSOrderedSame) {
452- credential = [FIRFacebookAuthProvider credentialWithAccessToken: authToken];
453- } else if ([provider compare: @" google" options: NSCaseInsensitiveSearch] == NSOrderedSame) {
454- credential = [FIRGoogleAuthProvider credentialWithIDToken: authToken
455- accessToken: authTokenSecret];
438+ NSString *provider = [credentialData valueForKey: @" provider" ];
439+ if ([provider compare: @" twitter.com" options: NSCaseInsensitiveSearch] == NSOrderedSame) {
440+ NSString *accessToken = [credentialData valueForKey: @" accessToken" ];
441+ NSString *secret = [credentialData valueForKey: @" secret" ];
442+ credential = [FIRTwitterAuthProvider credentialWithToken: accessToken
443+ secret: secret];
444+ } else if ([provider compare: @" facebook.com" options: NSCaseInsensitiveSearch] == NSOrderedSame) {
445+ NSString *accessToken = [credentialData valueForKey: @" accessToken" ];
446+ credential = [FIRFacebookAuthProvider credentialWithAccessToken: accessToken];
447+ } else if ([provider compare: @" google.com" options: NSCaseInsensitiveSearch] == NSOrderedSame) {
448+ NSString *idToken = [credentialData valueForKey: @" idToken" ];
449+ NSString *accessToken = [credentialData valueForKey: @" accessToken" ];
450+ credential = [FIRGoogleAuthProvider credentialWithIDToken: idToken
451+ accessToken: accessToken];
456452 } else {
457453 NSLog (@" Provider not yet handled: %@ " , provider);
458454 }
0 commit comments