Skip to content
This repository was archived by the owner on Apr 4, 2023. It is now read-only.

Commit e25c03f

Browse files
Storing additional user info as local state #919
1 parent 48673f9 commit e25c03f

File tree

3 files changed

+23
-14
lines changed

3 files changed

+23
-14
lines changed

src/firebase-common.ts

+1
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ export const firebase: any = {
2424
initialized: false,
2525
instance: null,
2626
firebaseRemoteConfig: null,
27+
currentAdditionalUserInfo: null,
2728
authStateListeners: [],
2829
_receivedNotificationCallback: null,
2930
_dynamicLinkCallback: null,

src/firebase.android.ts

+10-9
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@ firebase._googleSignInIdToken = null;
3434
firebase._facebookAccessToken = null;
3535

3636
let fbCallbackManager = null;
37-
let currentAdditionalUserInfo = null;
3837

3938
const GOOGLE_SIGNIN_INTENT_ID = 123;
4039
const REQUEST_INVITE_INTENT_ID = 48;
@@ -863,8 +862,10 @@ firebase.logout = arg => {
863862
return new Promise((resolve, reject) => {
864863
try {
865864
com.google.firebase.auth.FirebaseAuth.getInstance().signOut();
866-
//Reset additional data
867-
currentAdditionalUserInfo = null;
865+
866+
// reset additional user info
867+
firebase.currentAdditionalUserInfo = null;
868+
868869
// also disconnect from Google otherwise ppl can't connect with a different account
869870
if (firebase._mGoogleApiClient && firebase._mGoogleApiClient.isConnected()) {
870871
com.google.android.gms.auth.api.Auth.GoogleSignInApi.revokeAccess(firebase._mGoogleApiClient);
@@ -920,7 +921,7 @@ function toLoginResult(user, additionalUserInfo?): User {
920921
}
921922

922923
if (additionalUserInfo) {
923-
currentAdditionalUserInfo = additionalUserInfo
924+
firebase.currentAdditionalUserInfo = additionalUserInfo
924925
}
925926

926927
// for convenience return the result in multiple formats
@@ -954,12 +955,12 @@ function toLoginResult(user, additionalUserInfo?): User {
954955
}
955956
};
956957

957-
if (currentAdditionalUserInfo) {
958+
if (firebase.currentAdditionalUserInfo) {
958959
loginResult.additionalUserInfo = {
959-
providerId: currentAdditionalUserInfo.getProviderId(),
960-
username: currentAdditionalUserInfo.getUsername(),
961-
isNewUser: currentAdditionalUserInfo.isNewUser(),
962-
profile: firebase.toJsObject(currentAdditionalUserInfo.getProfile())
960+
providerId: firebase.currentAdditionalUserInfo.getProviderId(),
961+
username: firebase.currentAdditionalUserInfo.getUsername(),
962+
isNewUser: firebase.currentAdditionalUserInfo.isNewUser(),
963+
profile: firebase.toJsObject(firebase.currentAdditionalUserInfo.getProfile())
963964
};
964965
}
965966

src/firebase.ios.ts

+12-5
Original file line numberDiff line numberDiff line change
@@ -740,6 +740,9 @@ firebase.logout = arg => {
740740
try {
741741
FIRAuth.auth().signOut();
742742

743+
// reset additional user info
744+
firebase.currentAdditionalUserInfo = null;
745+
743746
// also disconnect from Google otherwise ppl can't connect with a different account
744747
if (typeof (GIDSignIn) !== "undefined") {
745748
GIDSignIn.sharedInstance().disconnect();
@@ -762,6 +765,10 @@ function toLoginResult(user, additionalUserInfo?: FIRAdditionalUserInfo): User {
762765
return null;
763766
}
764767

768+
if (additionalUserInfo) {
769+
firebase.currentAdditionalUserInfo = additionalUserInfo
770+
}
771+
765772
const providers = [];
766773
if (user.providerData) {
767774
for (let i = 0, l = user.providerData.count; i < l; i++) {
@@ -795,12 +802,12 @@ function toLoginResult(user, additionalUserInfo?: FIRAdditionalUserInfo): User {
795802
}
796803
};
797804

798-
if (additionalUserInfo) {
805+
if (firebase.currentAdditionalUserInfo) {
799806
loginResult.additionalUserInfo = {
800-
providerId: additionalUserInfo.providerID,
801-
username: additionalUserInfo.username,
802-
isNewUser: additionalUserInfo.newUser,
803-
profile: firebaseUtils.toJsObject(additionalUserInfo.profile)
807+
providerId: firebase.currentAdditionalUserInfo.providerID,
808+
username: firebase.currentAdditionalUserInfo.username,
809+
isNewUser: firebase.currentAdditionalUserInfo.newUser,
810+
profile: firebaseUtils.toJsObject(firebase.currentAdditionalUserInfo.profile)
804811
};
805812
}
806813

0 commit comments

Comments
 (0)