Skip to content

Commit 8db8b50

Browse files
committed
Merge branch 'v3' into pr-208
* v3: Updated next version Make firestackModule.js working for v3 Added github auth into v3 Consistency with values emitted by firebase.auth.AuthProvider subclasses
2 parents 02a4ec2 + 66de8cf commit 8db8b50

File tree

4 files changed

+25
-29
lines changed

4 files changed

+25
-29
lines changed

ios/Firestack/FirestackAuth.m

+19-23
Original file line numberDiff line numberDiff line change
@@ -67,14 +67,10 @@ @implementation FirestackAuth
6767
}
6868

6969
RCT_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

342338
RCT_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
}

lib/firestackModule.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ export class FirestackModule {
5656

5757
makeRef(path) {
5858
const refName = [this._refName, path]
59-
const ref = this._firestack.database.ref(...refName);
59+
const ref = this._firestack.database().ref(...refName);
6060
return this._makeRef(ref);
6161
}
6262

lib/modules/auth/index.js

+4-4
Original file line numberDiff line numberDiff line change
@@ -150,16 +150,16 @@ export default class Auth extends Base {
150150
* Sign the user in with a third-party authentication provider
151151
* @return {Promise} A promise resolved upon completion
152152
*/
153-
signInWithCredential(credential: CredentialType): Promise<Object> {
154-
return promisify('signInWithProvider', FirestackAuth, 'auth/')(credential.provider, credential.token, credential.secret);
153+
signInWithCredential(credential: any): Promise<Object> {
154+
return promisify('signInWithProvider', FirestackAuth)(credential);
155155
}
156156

157157
/**
158158
* Re-authenticate a user with a third-party authentication provider
159159
* @return {Promise} A promise resolved upon completion
160160
*/
161-
reauthenticateUser(credential: CredentialType): Promise<Object> {
162-
return promisify('reauthenticateWithCredentialForProvider', FirestackAuth, 'auth/')(credential.provider, credential.token, credential.secret);
161+
reauthenticateUser(credential: any): Promise<Object> {
162+
return promisify('reauthenticateWithCredentialForProvider', FirestackAuth)(credential);
163163
}
164164

165165
/**

package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "react-native-firestack",
3-
"version": "3.0.0-rc.2",
3+
"version": "3.0.0-rc.3",
44
"author": "Ari Lerner <[email protected]> (https://fullstackreact.com)",
55
"description": "A firebase v3 adapter",
66
"main": "index",

0 commit comments

Comments
 (0)