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

Commit f6533ec

Browse files
Merge pull request #1206 from KkevinLi/webGetTokenResult
[auth][web] - Add missing method getIdTokenResult()
2 parents 6491284 + 9424cb5 commit f6533ec

File tree

4 files changed

+33
-12
lines changed

4 files changed

+33
-12
lines changed

demo/app/main-view-model.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import {
33
AddEventListenerResult,
44
admob as firebaseAdMob,
55
crashlytics as firebaseCrashlytics,
6-
GetAuthTokenResult,
6+
IdTokenResult,
77
GetRemoteConfigResult,
88
LogComplexEventTypeParameter,
99
performance as firebasePerformance,
@@ -1026,7 +1026,7 @@ export class HelloWorldModel extends Observable {
10261026
{
10271027
forceRefresh: false
10281028
})
1029-
.then((result: GetAuthTokenResult) => console.log("Auth token retrieved: " + JSON.stringify(result)))
1029+
.then((result: IdTokenResult) => console.log("Auth token retrieved: " + JSON.stringify(result)))
10301030
.catch(errorMessage => console.log("Auth token retrieval error: " + errorMessage));
10311031
},
10321032
errorMessage => {

src/firebase.android.ts

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import {
99
FBErrorData,
1010
firestore,
1111
GetAuthTokenOptions,
12-
GetAuthTokenResult,
12+
IdTokenResult,
1313
OnDisconnect as OnDisconnectBase, QueryOptions,
1414
User
1515
} from "./firebase";
@@ -732,7 +732,7 @@ firebase.unlink = providerId => {
732732
});
733733
};
734734

735-
firebase.getAuthToken = (arg: GetAuthTokenOptions): Promise<GetAuthTokenResult> => {
735+
firebase.getAuthToken = (arg: GetAuthTokenOptions): Promise<IdTokenResult> => {
736736
return new Promise((resolve, reject) => {
737737
try {
738738
const firebaseAuth = com.google.firebase.auth.FirebaseAuth.getInstance();
@@ -743,7 +743,10 @@ firebase.getAuthToken = (arg: GetAuthTokenOptions): Promise<GetAuthTokenResult>
743743
resolve({
744744
token: tokenResult.getToken(),
745745
claims: firebase.toJsObject(tokenResult.getClaims()),
746-
signInProvider: tokenResult.getSignInProvider()
746+
signInProvider: tokenResult.getSignInProvider(),
747+
expirationTime: tokenResult.getExpirationTimestamp(),
748+
issuedAtTime: tokenResult.getIssuedAtTimestamp(),
749+
authTime: tokenResult.getAuthTimestamp()
747750
});
748751
}
749752
});
@@ -808,7 +811,12 @@ function toLoginResult(user, additionalUserInfo?): User {
808811
},
809812
getIdToken: (forceRefresh?: boolean) => new Promise((resolve, reject) => {
810813
firebase.getAuthToken({forceRefresh})
811-
.then((result: GetAuthTokenResult) => resolve(result.token))
814+
.then((result: IdTokenResult) => resolve(result.token))
815+
.catch(reject);
816+
}),
817+
getIdTokenResult: (forceRefresh?: boolean) => new Promise((resolve, reject) => {
818+
firebase.getAuthToken({forceRefresh})
819+
.then((result: IdTokenResult) => resolve(result))
812820
.catch(reject);
813821
}),
814822
sendEmailVerification: (actionCodeSettings?: ActionCodeSettings) => firebase.sendEmailVerification(actionCodeSettings)

src/firebase.d.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -204,10 +204,13 @@ export interface GetAuthTokenOptions {
204204
forceRefresh?: boolean;
205205
}
206206

207-
export interface GetAuthTokenResult {
207+
export interface IdTokenResult {
208208
token: string;
209209
claims: { [key: string]: any; };
210210
signInProvider: string;
211+
expirationTime: number;
212+
issuedAtTime: number;
213+
authTime: number;
211214
}
212215

213216
export interface Provider {
@@ -357,6 +360,8 @@ export interface User {
357360

358361
getIdToken(forceRefresh?: boolean): Promise<string>;
359362

363+
getIdTokenResult(forceRefresh?: boolean): Promise<IdTokenResult>;
364+
360365
sendEmailVerification(actionCodeSettings?: ActionCodeSettings): Promise<void>;
361366
}
362367

src/firebase.ios.ts

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import {
55
FBDataSingleEvent,
66
firestore,
77
GetAuthTokenOptions,
8-
GetAuthTokenResult,
8+
IdTokenResult,
99
OnDisconnect as OnDisconnectBase, QueryOptions,
1010
User
1111
} from "./firebase";
@@ -689,8 +689,13 @@ function toLoginResult(user, additionalUserInfo?: FIRAdditionalUserInfo): User {
689689
},
690690
getIdToken: (forceRefresh?: boolean) => new Promise((resolve, reject) => {
691691
firebase.getAuthToken({forceRefresh})
692-
.then((result: GetAuthTokenResult) => resolve(result.token))
693-
.catch(reject)
692+
.then((result: IdTokenResult) => resolve(result.token))
693+
.catch(reject);
694+
}),
695+
getIdTokenResult: (forceRefresh?: boolean) => new Promise((resolve, reject) => {
696+
firebase.getAuthToken({forceRefresh})
697+
.then((result: IdTokenResult) => resolve(result))
698+
.catch(reject);
694699
}),
695700
sendEmailVerification: (actionCodeSettings?: ActionCodeSettings) => firebase.sendEmailVerification(actionCodeSettings)
696701
};
@@ -707,7 +712,7 @@ function toLoginResult(user, additionalUserInfo?: FIRAdditionalUserInfo): User {
707712
return loginResult;
708713
}
709714

710-
firebase.getAuthToken = (arg: GetAuthTokenOptions): Promise<GetAuthTokenResult> => {
715+
firebase.getAuthToken = (arg: GetAuthTokenOptions): Promise<IdTokenResult> => {
711716
return new Promise((resolve, reject) => {
712717
try {
713718
const fAuth = FIRAuth.auth();
@@ -725,7 +730,10 @@ firebase.getAuthToken = (arg: GetAuthTokenOptions): Promise<GetAuthTokenResult>
725730
resolve({
726731
token: result.token,
727732
claims: firebaseUtils.toJsObject(result.claims),
728-
signInProvider: result.signInProvider
733+
signInProvider: result.signInProvider,
734+
expirationTime: firebaseUtils.toJsObject(result.expirationDate),
735+
issuedAtTime: firebaseUtils.toJsObject(result.issuedAtDate),
736+
authTime: firebaseUtils.toJsObject(result.authDate)
729737
});
730738
}
731739
});

0 commit comments

Comments
 (0)