@nativescript/firebase-auth
Version:
NativeScript Firebase - Auth
221 lines (220 loc) • 9.2 kB
TypeScript
import { FirebaseApp } from '@nativescript/firebase-core';
import { ActionCodeInfoOperation } from './common';
import { ActionCodeInfo, IUserCredential, IActionCodeSettings, IAuth, IAuthCredential, IAuthSettings, IAuthTokenResult, IOAuthCredential, IPhoneAuthCredential, IUser, IUserInfo, IUserMetadata, OAuthCredentialOptions, UserProfileChangeRequest, IOAuthProvider } from '.';
export { ActionCodeInfoOperation };
export declare class UserMetadata implements IUserMetadata {
_native: FIRUserMetadata;
static fromNative(metadata: FIRUserMetadata): UserMetadata;
get native(): FIRUserMetadata;
get ios(): FIRUserMetadata;
get creationDate(): Date;
get lastSignInDate(): Date;
toJSON(): {
creationDate: Date;
lastSignInDate: Date;
};
}
export declare class UserInfo implements IUserInfo {
_native: FIRUserInfo;
static fromNative(info: FIRUserInfo): UserInfo;
get native(): any;
get ios(): any;
get uid(): string;
get displayName(): string;
get email(): string;
get phoneNumber(): string;
get photoURL(): string;
get providerId(): string;
toJSON(): {
displayName: string;
email: string;
uid: string;
phoneNumber: string;
providerId: string;
photoURL: string;
};
}
export declare class User implements IUser {
_native: FIRUser;
get native(): FIRUser;
get ios(): FIRUser;
static fromNative(user: FIRUser): User;
get displayName(): string;
get anonymous(): boolean;
get emailVerified(): boolean;
get email(): string;
get uid(): string;
get phoneNumber(): string;
get providerId(): string;
get photoURL(): string;
get metadata(): UserMetadata;
get providerData(): UserInfo[];
toJSON(): {
displayName: string;
anonymous: boolean;
emailVerified: boolean;
email: string;
uid: string;
phoneNumber: string;
providerId: string;
photoURL: string;
metadata: UserMetadata;
providerData: UserInfo[];
};
delete(): Promise<void>;
getIdToken(forceRefresh?: boolean): Promise<string>;
getIdTokenResult(forceRefresh?: boolean): Promise<IAuthTokenResult>;
linkWithCredential(credential: AuthCredential): Promise<IUserCredential>;
reauthenticateWithProvider(provider: OAuthProvider): Promise<IUserCredential>;
reauthenticateWithCredential(credential: AuthCredential): Promise<IUserCredential>;
reload(): Promise<void>;
sendEmailVerification(actionCodeSettings?: ActionCodeSettings): Promise<void>;
unlink(providerId: string): Promise<IUser>;
updateEmail(email: string): Promise<void>;
updatePassword(password: string): Promise<void>;
updatePhoneNumber(credential: PhoneAuthCredential): Promise<void>;
updateProfile(profile: UserProfileChangeRequest): Promise<void>;
verifyBeforeUpdateEmail(email: string, actionCodeSettings?: ActionCodeSettings): Promise<void>;
}
export declare class AuthSettings implements IAuthSettings {
_native: FIRAuthSettings;
static fromNative(settings: FIRAuthSettings): AuthSettings;
get native(): FIRAuthSettings;
get ios(): FIRAuthSettings;
set appVerificationDisabledForTesting(value: boolean);
get appVerificationDisabledForTesting(): boolean;
}
export declare class ActionCodeSettings implements IActionCodeSettings {
_native: FIRActionCodeSettings;
static fromNative(settings: FIRActionCodeSettings): ActionCodeSettings;
get androidInstallIfNotAvailable(): boolean;
set androidInstallIfNotAvailable(value: boolean);
get androidMinimumVersion(): string;
set androidMinimumVersion(value: string);
get androidPackageName(): string;
set androidPackageName(value: string);
get dynamicLinkDomain(): string;
set dynamicLinkDomain(value: string);
get handleCodeInApp(): boolean;
set handleCodeInApp(handle: boolean);
get native(): FIRActionCodeSettings;
get ios(): FIRActionCodeSettings;
get url(): string;
get iOSBundleId(): string;
set iOSBundleId(id: string);
}
export declare class AuthCredential implements IAuthCredential {
signInMethod: string;
protected _native: FIRAuthCredential;
static fromNative(credential: FIRAuthCredential): AuthCredential;
get native(): FIRAuthCredential;
get ios(): FIRAuthCredential;
get provider(): string;
}
export declare class EmailAuthProvider {
static credential(email: string, password: string): AuthCredential;
static credentialWithLink(email: string, link: string): AuthCredential;
}
export declare class PhoneAuthProvider {
_native: FIRPhoneAuthProvider;
get native(): FIRPhoneAuthProvider;
get ios(): FIRPhoneAuthProvider;
static provider(auth?: Auth): PhoneAuthProvider;
credential(verificationId: string, verificationCode: string): AuthCredential;
verifyPhoneNumber(phoneNumber: string): Promise<string>;
}
export declare class AppleAuthProvider {
static credential(idToken: string, nonce: string): AuthCredential;
}
export declare class FacebookAuthProvider {
static credential(accessToken: string): AuthCredential;
}
export declare class GithubAuthProvider {
static credential(token: string): AuthCredential;
}
export declare class GoogleAuthProvider {
static credential(idToken: string, accessToken: string): AuthCredential;
}
export declare class OAuthCredential extends AuthCredential implements IOAuthCredential {
signInMethod: string;
protected _native: FIROAuthCredential;
static fromNative(credential: any): OAuthCredential;
get native(): FIROAuthCredential;
get ios(): FIROAuthCredential;
get idToken(): string;
get accessToken(): string;
get secret(): string;
}
export declare class OAuthProvider implements IOAuthProvider {
_providerId: string;
_customParameters: {
[key: string]: string;
};
_scopes: string[];
constructor(providerId: string);
get _builder(): FIROAuthProvider;
addCustomParameter(key: string, value: string): void;
setScopes(scopes: string[]): void;
credential(optionsOrIdToken: OAuthCredentialOptions | string | null, accessToken?: string): OAuthCredential;
}
export declare class TwitterAuthProvider {
static credential(token: string, secret: string): AuthCredential;
}
export declare class PhoneAuthCredential extends AuthCredential implements IPhoneAuthCredential {
protected _native: FIRPhoneAuthCredential;
static fomNative(credential: FIRPhoneAuthCredential): PhoneAuthCredential;
get native(): FIRPhoneAuthCredential;
get ios(): FIRPhoneAuthCredential;
}
export declare class AuthTokenResult implements IAuthTokenResult {
_native: FIRAuthTokenResult;
static fromNative(tokenResult: FIRAuthTokenResult): AuthTokenResult;
get native(): FIRAuthTokenResult;
get ios(): FIRAuthTokenResult;
get authDate(): Date;
get claims(): any;
get expirationDate(): Date;
get issuedAtDate(): Date;
get signInProvider(): string;
get token(): string;
}
export declare class Auth implements IAuth {
_native: FIRAuth;
constructor(app?: FirebaseApp);
useEmulator(host: string, port: number): void;
fetchSignInMethodsForEmail(email: string): Promise<string[]>;
isSignInWithEmailLink(emailLink: string): boolean;
_authStateChangeListeners: Map<any, any>;
addAuthStateChangeListener(listener: (user: User) => void): void;
removeAuthStateChangeListener(listener: (user: User) => void): void;
_idTokenChangeListeners: Map<any, any>;
addIdTokenChangeListener(listener: (user: User) => void): void;
removeIdTokenChangListener(listener: (user: User) => void): void;
sendPasswordResetEmail(email: string, actionCodeSettings?: ActionCodeSettings): Promise<void>;
sendSignInLinkToEmail(email: string, actionCodeSettings?: ActionCodeSettings): Promise<void>;
signInAnonymously(): Promise<IUserCredential>;
signInWithProvider(provider: OAuthProvider): Promise<IUserCredential>;
getProviderCredential(provider: OAuthProvider): Promise<OAuthCredential>;
signInWithCredential(credential: AuthCredential): Promise<IUserCredential>;
signInWithCustomToken(customToken: string): Promise<IUserCredential>;
signInWithEmailLink(email: string, emailLink: string): Promise<IUserCredential>;
useUserAccessGroup(userAccessGroup: string): Promise<void>;
verifyPasswordResetCode(code: string): Promise<string>;
createUserWithEmailAndPassword(email: string, password: string): Promise<IUserCredential>;
confirmPasswordReset(code: string, newPassword: string): Promise<void>;
checkActionCode(code: string): Promise<ActionCodeInfo>;
applyActionCode(code: string): Promise<void>;
signInWithEmailAndPassword(email: string, password: string): Promise<IUserCredential>;
signOut(): Promise<boolean>;
get native(): FIRAuth;
get ios(): FIRAuth;
_app: FirebaseApp;
get app(): FirebaseApp;
get currentUser(): User;
get languageCode(): string;
set languageCode(code: string);
_settings: AuthSettings;
get settings(): AuthSettings;
get tenantId(): string;
set tenantId(id: string);
}