Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
46 changes: 5 additions & 41 deletions android/src/main/java/io/fullstack/firestack/FirestackAuth.java
Original file line number Diff line number Diff line change
Expand Up @@ -170,7 +170,7 @@ public void onComplete(@NonNull Task<AuthResult> task) {

if (task.isSuccessful()) {
FirestackAuthModule.this.user = task.getResult().getUser();
anonymousUserCallback(FirestackAuthModule.this.user, callback);
userCallback(FirestackAuthModule.this.user, callback);
} else {
// userErrorCallback(task, callback);
}
Expand Down Expand Up @@ -523,14 +523,15 @@ public void userCallback(FirebaseUser passedUser, final Callback callback) {
public void onComplete(@NonNull Task<GetTokenResult> task) {
WritableMap msgMap = Arguments.createMap();
WritableMap userMap = getUserMap();
boolean authenticated = false;
if (FirestackAuthModule.this.user != null) {
final String token = task.getResult().getToken();
userMap.putString("token", token);
userMap.putBoolean("anonymous", false);
authenticated = true;
}

msgMap.putMap("user", userMap);
msgMap.putBoolean("authenticated", true);
msgMap.putBoolean("authenticated", authenticated);
callback.invoke(null, msgMap);
}
}).addOnFailureListener(new OnFailureListener() {
Expand All @@ -541,43 +542,6 @@ public void onFailure(@NonNull Exception ex) {
});
}

// TODO: Reduce to one method
public void anonymousUserCallback(FirebaseUser passedUser, final Callback callback) {

if (passedUser == null) {
mAuth = FirebaseAuth.getInstance();
this.user = mAuth.getCurrentUser();
} else {
this.user = passedUser;
}

this.user.getToken(true)
.addOnCompleteListener(new OnCompleteListener<GetTokenResult>() {
@Override
public void onComplete(@NonNull Task<GetTokenResult> task) {
WritableMap msgMap = Arguments.createMap();
WritableMap userMap = getUserMap();

if (FirestackAuthModule.this.user != null) {
final String token = task.getResult().getToken();

userMap.putString("token", token);
userMap.putBoolean("anonymous", true);
}

msgMap.putMap("user", userMap);

callback.invoke(null, msgMap);
}
}).addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception ex) {
userExceptionCallback(ex, callback);
}
});
}


public void noUserCallback(final Callback callback) {
WritableMap message = Arguments.createMap();

Expand Down Expand Up @@ -624,7 +588,7 @@ private WritableMap getUserMap() {
userMap.putString("uid", uid);
userMap.putString("providerId", provider);
userMap.putBoolean("emailVerified", user.isEmailVerified());

userMap.putBoolean("anonymous", user.isAnonymous());
if (name != null) {
userMap.putString("displayName", name);
}
Expand Down
37 changes: 25 additions & 12 deletions ios/Firestack/FirestackAuth.m
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ @implementation FirestackAuth
RCT_EXPORT_MODULE(FirestackAuth);

RCT_EXPORT_METHOD(signInAnonymously:
(RCTResponseSenderBlock) callBack)
(RCTResponseSenderBlock) callback)
{
@try {
[[FIRAuth auth] signInAnonymouslyWithCompletion
Expand All @@ -32,10 +32,14 @@ @implementation FirestackAuth
[self sendJSEvent:AUTH_CHANGED_EVENT
props: evt];

callBack(@[evt]);
callback(@[evt]);
} else {
NSDictionary *userProps = [self userPropsFromFIRUser:user];
callBack(@[[NSNull null], userProps]);
NSDictionary *userProps = [self userPropsFromFIRUser:user];
NSDictionary *responseProps = @{
@"authenticated": @((BOOL) true),
@"user": userProps
};
callback(@[[NSNull null], responseProps]);
}
}];
} @catch(NSException *ex) {
Expand All @@ -47,7 +51,7 @@ @implementation FirestackAuth
[self sendJSEvent:AUTH_ERROR_EVENT
props:eventError];
NSLog(@"An exception occurred: %@", ex);
callBack(@[eventError]);
callback(@[eventError]);
}
}

Expand All @@ -61,7 +65,11 @@ @implementation FirestackAuth

if (user != nil) {
NSDictionary *userProps = [self userPropsFromFIRUser:user];
callback(@[[NSNull null], userProps]);
NSDictionary *responseProps = @{
@"authenticated": @((BOOL) true),
@"user": userProps
};
callback(@[[NSNull null], responseProps]);
} else {
NSDictionary *err =
[FirestackErrors handleFirebaseError:AUTH_ERROR_EVENT
Expand Down Expand Up @@ -94,7 +102,11 @@ @implementation FirestackAuth
if (user != nil) {
// User is signed in.
NSDictionary *userProps = [self userPropsFromFIRUser:user];
callback(@[[NSNull null], userProps]);
NSDictionary *responseProps = @{
@"authenticated": @((BOOL) true),
@"user": userProps
};
callback(@[[NSNull null], responseProps]);
} else {
NSLog(@"An error occurred: %@", [error localizedDescription]);
NSLog(@"[Error signInWithProvider]: %@", [error userInfo]);
Expand Down Expand Up @@ -146,7 +158,7 @@ @implementation FirestackAuth
sendJSEvent:AUTH_CHANGED_EVENT
props: @{
@"eventName": @"userTokenError",
@"authenticated": @((BOOL)true),
@"authenticated": @((BOOL)false),
@"errorMessage": [error localizedFailureReason]
}];
} else {
Expand Down Expand Up @@ -236,10 +248,11 @@ @implementation FirestackAuth
completion:^(FIRUser *user, NSError *error) {
if (user != nil) {
NSDictionary *userProps = [self userPropsFromFIRUser:user];

callback(@[[NSNull null], @{
@"user": userProps
}]);
NSDictionary *responseProps = @{
@"authenticated": @((BOOL) true),
@"user": userProps
};
callback(@[[NSNull null], responseProps]);
} else {
NSDictionary *err =
[FirestackErrors handleFirebaseError:@"signinError"
Expand Down