Skip to content

Commit 22d6306

Browse files
committed
Fixed id token parsing in additional user info
1 parent b0ed1ca commit 22d6306

File tree

3 files changed

+8
-28
lines changed

3 files changed

+8
-28
lines changed

packages-exp/auth-exp/src/core/user/additional_user_info.test.ts

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -156,17 +156,15 @@ describe('core/user/additional_user_info', () => {
156156
expect(username).to.be.null;
157157
expect(profile).to.eq(profile);
158158
});
159-
/*
160-
Uncomment this once ID token parsing is built
159+
161160
it('for missing provider IDs in response but not in token', () => {
162-
const additionalUserInfo = fromIdTokenResponse(idTokenResponse({rawUserInfo}))!;
161+
const additionalUserInfo = fromIdTokenResponse(idTokenResponse({rawUserInfo: rawUserInfoWithLogin}))!;
163162
const {isNewUser, providerId, username, profile} = additionalUserInfo;
164163
expect(isNewUser).to.be.false;
165164
expect(providerId).to.eq(ProviderId.FACEBOOK);
166165
expect(username).to.be.null;
167166
expect(profile).to.eq(profile);
168167
});
169-
*/
170168
});
171169

172170
describe('returns null', () => {

packages-exp/auth-exp/src/core/user/additional_user_info.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,10 @@
1717
import { AdditionalUserInfo, UserProfile } from '../../model/user';
1818
import { IdTokenResponse, IdTokenResponseKind } from '../../model/id_token';
1919
import { ProviderId } from '../providers';
20+
import { parseToken } from './id_token_result';
2021

2122
export function fromIdTokenResponse(
22-
idTokenResponse: IdTokenResponse
23+
idTokenResponse: IdTokenResponse,
2324
): AdditionalUserInfo | null {
2425
const { providerId } = idTokenResponse;
2526
const profile =
@@ -29,13 +30,12 @@ export function fromIdTokenResponse(
2930
const isNewUser =
3031
!!idTokenResponse.isNewUser ||
3132
idTokenResponse.kind === IdTokenResponseKind.SignupNewUser;
32-
/*
33-
Uncomment this once ID token parsing is built
3433
if (!providerId && !!idTokenResponse) {
35-
const providerId = parseIdToken(idTokenResponse.idToken).signInProvider;
36-
return new GenericAdditionalUserInfo(isNewUser, providerId, null, profile);
34+
const providerId = parseToken(idTokenResponse.idToken)?.firebase?.['sign_in_provider'] as ProviderId;
35+
if (providerId && Object.values(ProviderId).includes(providerId)) {
36+
return new GenericAdditionalUserInfo(isNewUser, providerId, null, profile);
37+
}
3738
}
38-
*/
3939
if (!providerId) {
4040
return null;
4141
}

yarn.lock

Lines changed: 0 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -12592,17 +12592,6 @@ [email protected]:
1259212592
rollup-pluginutils "2.8.2"
1259312593
tslib "1.10.0"
1259412594

12595-
12596-
version "0.26.0"
12597-
resolved "https://registry.npmjs.org/rollup-plugin-typescript2/-/rollup-plugin-typescript2-0.26.0.tgz#cee2b44d51d9623686656d76dc30a73c4de91672"
12598-
integrity sha512-lUK7XZVG77tu8dmv1L/0LZFlavED/5Yo6e4iMMl6fdox/yKdj4IFRRPPJEXNdmEaT1nDQQeCi7b5IwKHffMNeg==
12599-
dependencies:
12600-
find-cache-dir "^3.2.0"
12601-
fs-extra "8.1.0"
12602-
resolve "1.15.1"
12603-
rollup-pluginutils "2.8.2"
12604-
tslib "1.10.0"
12605-
1260612595
1260712596
version "0.27.0"
1260812597
resolved "https://registry.npmjs.org/rollup-plugin-typescript2/-/rollup-plugin-typescript2-0.27.0.tgz#95ff96f9e07d5000a9d2df4d76b548f9a1f83511"
@@ -12624,13 +12613,6 @@ [email protected]:
1262412613
serialize-javascript "^2.1.2"
1262512614
uglify-js "^3.4.9"
1262612615

12627-
12628-
version "2.8.1"
12629-
resolved "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-2.8.1.tgz#8fa6dd0697344938ef26c2c09d2488ce9e33ce97"
12630-
integrity sha512-J5oAoysWar6GuZo0s+3bZ6sVZAC0pfqKz68De7ZgDi5z63jOVZn1uJL/+z1jeKHNbGII8kAyHF5q8LnxSX5lQg==
12631-
dependencies:
12632-
estree-walker "^0.6.1"
12633-
1263412616
[email protected], rollup-pluginutils@^2.5.0, rollup-pluginutils@^2.6.0, rollup-pluginutils@^2.8.1, rollup-pluginutils@^2.8.2:
1263512617
version "2.8.2"
1263612618
resolved "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz#72f2af0748b592364dbd3389e600e5a9444a351e"

0 commit comments

Comments
 (0)