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

Commit 25ea7a0

Browse files
committed
[auth][web] - Add missing method getIdTokenResult()
1 parent 6491284 commit 25ea7a0

File tree

3 files changed

+25
-4
lines changed

3 files changed

+25
-4
lines changed

src/firebase.android.ts

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -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
});
@@ -811,6 +814,11 @@ function toLoginResult(user, additionalUserInfo?): User {
811814
.then((result: GetAuthTokenResult) => resolve(result.token))
812815
.catch(reject);
813816
}),
817+
getIdTokenResult: (forceRefresh?: boolean) => new Promise((resolve, reject) => {
818+
firebase.getAuthToken({forceRefresh})
819+
.then((result: GetAuthTokenResult) => resolve(result))
820+
.catch(reject);
821+
}),
814822
sendEmailVerification: (actionCodeSettings?: ActionCodeSettings) => firebase.sendEmailVerification(actionCodeSettings)
815823
};
816824

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 GetAuthTokenResult { // Need to rename to IdTokenResult for webAPI
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<any>; // Returns GetAuthTokenResult, but we should rename to IdTokenResult to be web compatible
364+
360365
sendEmailVerification(actionCodeSettings?: ActionCodeSettings): Promise<void>;
361366
}
362367

src/firebase.ios.ts

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -690,7 +690,12 @@ function toLoginResult(user, additionalUserInfo?: FIRAdditionalUserInfo): User {
690690
getIdToken: (forceRefresh?: boolean) => new Promise((resolve, reject) => {
691691
firebase.getAuthToken({forceRefresh})
692692
.then((result: GetAuthTokenResult) => resolve(result.token))
693-
.catch(reject)
693+
.catch(reject);
694+
}),
695+
getIdTokenResult: (forceRefresh?: boolean) => new Promise((resolve, reject) => {
696+
firebase.getAuthToken({forceRefresh})
697+
.then((result: GetAuthTokenResult) => resolve(result))
698+
.catch(reject);
694699
}),
695700
sendEmailVerification: (actionCodeSettings?: ActionCodeSettings) => firebase.sendEmailVerification(actionCodeSettings)
696701
};
@@ -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)