Skip to content

Commit d77341d

Browse files
committed
Implemented getToken() on Android
1 parent 9f3ae58 commit d77341d

File tree

1 file changed

+22
-2
lines changed

1 file changed

+22
-2
lines changed

android/src/main/java/io/fullstack/firestack/FirestackAuth.java

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,8 @@
3535

3636
class FirestackAuthModule extends ReactContextBaseJavaModule {
3737
private final int NO_CURRENT_USER = 100;
38+
private final int ERROR_FETCHING_TOKEN = 101;
39+
3840
private static final String TAG = "FirestackAuth";
3941

4042
private Context context;
@@ -272,8 +274,26 @@ public void onComplete(@NonNull Task<Void> task) {
272274

273275
@ReactMethod
274276
public void getToken(final Callback callback) {
275-
// TODO
276-
FirestackUtils.todoNote(TAG, "getToken", callback);
277+
FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();
278+
279+
user.getToken(true)
280+
.addOnCompleteListener(new OnCompleteListener<GetTokenResult>() {
281+
@Override
282+
public void onComplete(@NonNull Task<GetTokenResult> task) {
283+
if (task.isSuccessful()) {
284+
String token = task.getResult().getToken();
285+
WritableMap resp = Arguments.createMap();
286+
resp.putString("status", "complete");
287+
resp.putString("token", token);
288+
callback.invoke(null, resp);
289+
} else {
290+
WritableMap err = Arguments.createMap();
291+
err.putInt("errorCode", ERROR_FETCHING_TOKEN);
292+
err.putString("errorMessage", task.getException().getMessage());
293+
callback.invoke(err);
294+
}
295+
}
296+
});
277297
}
278298

279299
@ReactMethod

0 commit comments

Comments
 (0)