UNPKG

@firebase/auth

Version:

The Firebase Authenticaton component of the Firebase JS SDK.

84 lines (83 loc) 3.17 kB
/** * @license * Copyright 2020 Google LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { IdTokenResult, User, UserCredential, UserInfo } from './public_types'; import { NextFn } from '@firebase/util'; import { APIUserInfo } from '../api/account_management/account'; import { FinalizeMfaResponse } from '../api/authentication/mfa'; import { PersistedBlob } from '../core/persistence'; import { StsTokenManager } from '../core/user/token_manager'; import { UserMetadata } from '../core/user/user_metadata'; import { AuthInternal } from './auth'; import { IdTokenResponse, TaggedWithTokenResponse } from './id_token'; import { ProviderId } from './enums'; export declare type MutableUserInfo = { -readonly [K in keyof UserInfo]: UserInfo[K]; }; export interface UserParameters { uid: string; auth: AuthInternal; stsTokenManager: StsTokenManager; displayName?: string | null; email?: string | null; phoneNumber?: string | null; photoURL?: string | null; isAnonymous?: boolean | null; emailVerified?: boolean | null; tenantId?: string | null; providerData?: MutableUserInfo[] | null; createdAt?: string | null; lastLoginAt?: string | null; } /** * UserInternal and AuthInternal reference each other, so both of them are included in the public typings. * In order to exclude them, we mark them as internal explicitly. * * @internal */ export interface UserInternal extends User { displayName: string | null; email: string | null; phoneNumber: string | null; photoURL: string | null; auth: AuthInternal; providerId: ProviderId.FIREBASE; refreshToken: string; emailVerified: boolean; tenantId: string | null; providerData: MutableUserInfo[]; metadata: UserMetadata; stsTokenManager: StsTokenManager; _redirectEventId?: string; _updateTokensIfNecessary(response: IdTokenResponse | FinalizeMfaResponse, reload?: boolean): Promise<void>; _assign(user: UserInternal): void; _clone(auth: AuthInternal): UserInternal; _onReload: (cb: NextFn<APIUserInfo>) => void; _notifyReloadListener: NextFn<APIUserInfo>; _startProactiveRefresh: () => void; _stopProactiveRefresh: () => void; getIdToken(forceRefresh?: boolean): Promise<string>; getIdTokenResult(forceRefresh?: boolean): Promise<IdTokenResult>; reload(): Promise<void>; delete(): Promise<void>; toJSON(): PersistedBlob; } /** * @internal */ export interface UserCredentialInternal extends UserCredential, TaggedWithTokenResponse { user: UserInternal; }