Skip to content
Merged
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
29 changes: 29 additions & 0 deletions android/src/main/java/io/fullstack/firestack/FirestackAuth.java
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@
import com.google.firebase.auth.GetTokenResult;
import com.google.firebase.auth.GoogleAuthProvider;
import com.google.firebase.auth.FirebaseAuthException;
import com.google.firebase.auth.TwitterAuthProvider;

class FirestackAuthModule extends ReactContextBaseJavaModule {
private final int NO_CURRENT_USER = 100;
Expand Down Expand Up @@ -153,6 +154,8 @@ public void signInWithProvider(final String provider, final String authToken, fi
this.facebookLogin(authToken,callback);
} else if (provider.equals("google")) {
this.googleLogin(authToken,callback);
} else if (provider.equals("twitter")) {
this.twitterLogin(authToken,authSecret,callback);
} else
// TODO
FirestackUtils.todoNote(TAG, "signInWithProvider", callback);
Expand Down Expand Up @@ -215,6 +218,8 @@ public void reauthenticateWithCredentialForProvider(final String provider, final
credential = FacebookAuthProvider.getCredential(authToken);
} else if (provider.equals("google")) {
credential = GoogleAuthProvider.getCredential(authToken, null);
} else if (provider.equals("twitter")) {
credential = TwitterAuthProvider.getCredential(authToken, authSecret);
} else {
// TODO:
FirestackUtils.todoNote(TAG, "reauthenticateWithCredentialForProvider", callback);
Expand Down Expand Up @@ -508,6 +513,30 @@ public void onFailure(@NonNull Exception ex) {
});
}

@ReactMethod
public void twitterLogin(String Token, String Secret, final Callback callback) {
mAuth = FirebaseAuth.getInstance();

AuthCredential credential = TwitterAuthProvider.getCredential(Token, Secret);
mAuth.signInWithCredential(credential)
.addOnCompleteListener(new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
if (task.isSuccessful()) {
FirestackAuthModule.this.user = task.getResult().getUser();
userCallback(FirestackAuthModule.this.user, callback);
}else{
// userErrorCallback(task, callback);
}
}
}).addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception ex) {
userExceptionCallback(ex, callback);
}
});
}

// Internal helpers
public void userCallback(FirebaseUser passedUser, final Callback callback) {

Expand Down