diff --git a/packages-exp/auth-exp/src/core/index.ts b/packages-exp/auth-exp/src/core/index.ts index 4d6dc1f0d26..a6cdaeb7c68 100644 --- a/packages-exp/auth-exp/src/core/index.ts +++ b/packages-exp/auth-exp/src/core/index.ts @@ -197,6 +197,7 @@ export { export { getIdToken, getIdTokenResult } from './user/id_token_result'; export { unlink } from './user/link_unlink'; export { getAdditionalUserInfo } from './user/additional_user_info'; +export { userFromJSON } from './user/user_impl'; // Non-optional user methods. export { reload } from './user/reload'; diff --git a/packages-exp/auth-exp/src/core/user/user_impl.ts b/packages-exp/auth-exp/src/core/user/user_impl.ts index 07e821db460..51e51f999ac 100644 --- a/packages-exp/auth-exp/src/core/user/user_impl.ts +++ b/packages-exp/auth-exp/src/core/user/user_impl.ts @@ -26,6 +26,7 @@ import { FinalizeMfaResponse } from '../../api/authentication/mfa'; import { Auth } from '../../model/auth'; import { IdTokenResponse } from '../../model/id_token'; import { MutableUserInfo, User, UserParameters } from '../../model/user'; +import { _castAuth } from '../auth/auth_impl'; import { AuthErrorCode } from '../errors'; import { PersistedBlob } from '../persistence'; import { _assert } from '../util/assert'; @@ -317,3 +318,7 @@ export class UserImpl implements User { return user; } } + +export function userFromJSON(auth: externs.Auth, json: string): externs.User { + return UserImpl._fromJSON(_castAuth(auth), JSON.parse(json)); +}