ez-firebase-auth
Version:
Easy Firebase Auth for Angular 4.x
68 lines (67 loc) • 3.45 kB
TypeScript
import { AngularFireAuth } from 'angularfire2/auth';
import { Router, NavigationExtras } from '@angular/router';
import { BehaviorSubject } from 'rxjs/BehaviorSubject';
import { Subject } from 'rxjs/Subject';
import { Observable } from 'rxjs/Observable';
import * as firebase from 'firebase';
import { EzfaOptions } from './ezfa-options.class';
import { EzfaOauthMethod } from './ezfa-oauth-method.enum';
import { EzfaProviderLabels } from './ezfa-provider-labels.class';
import { EzfaSignedInEvent } from './ezfa-signed-in-event.class';
import { EzfaSignedOutEvent } from './ezfa-signed-out-event.class';
import { EzfaEmailChangedEvent } from './ezfa-email-changed-event.class';
import { EzfaProviderLinkedEvent } from './ezfa-provider-linked-event.class';
import { EzfaProviderUnlinkedEvent } from './ezfa-provider-unlinked-event.class';
export declare class EzfaService {
protected router: Router;
protected afAuth: AngularFireAuth;
protected options: EzfaOptions;
static STORAGE_KEY_PERSISTENCE: string;
static ENABLED_PROVIDERS: string[];
static ENABLED_OAUTH_PROVIDERS: string[];
static OUT_OF_BAND_MODES: {
resetPassword: string;
verifyEmail: string;
recoverEmail: string;
};
protected oauthMethod$: BehaviorSubject<EzfaOauthMethod>;
protected localPersistenceEnabled$: BehaviorSubject<boolean>;
protected routeChanges$: Subject<string>;
protected signedInEvents$: Subject<EzfaSignedInEvent>;
protected signedOutEvents$: Subject<EzfaSignedOutEvent>;
protected providerLinkedEvents$: Subject<EzfaProviderLinkedEvent>;
protected providerUnlinkedEvents$: Subject<EzfaProviderUnlinkedEvent>;
protected emailChangedEvents$: Subject<EzfaEmailChangedEvent>;
protected savedPopupPromise_: Promise<firebase.auth.UserCredential> | null;
constructor(router: Router, afAuth: AngularFireAuth, options: EzfaOptions);
readonly auth: firebase.auth.Auth;
readonly authState: Observable<firebase.User>;
readonly applicationLabel: string;
readonly rootSlug: string;
providerIds: string[];
readonly oauthProviderIds: string[];
readonly passwordProviderEnabled: boolean;
readonly providerLabels: EzfaProviderLabels;
requireDisplayName: boolean;
requireTos: boolean;
sendEmailVerificationLink: boolean;
oauthMethod: EzfaOauthMethod;
getProviderById(id: string): Promise<firebase.auth.AuthProvider>;
routerLink(slug?: string | null): string[];
navigate(slug?: string | null, extras?: NavigationExtras): Promise<boolean>;
readonly localPersistenceEnabled: Observable<boolean>;
setPersistenceLocal(b: boolean): Promise<void>;
readonly routeChanges: Observable<string>;
onRouteChange(route: string): void;
readonly signedInEvents: Observable<EzfaSignedInEvent>;
onSignedIn(event: EzfaSignedInEvent): void;
readonly signedOutEvents: Observable<EzfaSignedOutEvent>;
onSignedOut(event: EzfaSignedOutEvent): void;
readonly emailChangedEvents: Observable<EzfaEmailChangedEvent>;
onEmailChanged(event: EzfaEmailChangedEvent): void;
readonly providerLinkedEvents: Observable<EzfaProviderLinkedEvent>;
onProviderLinked(event: EzfaProviderLinkedEvent): void;
readonly providerUnlinkedEvents: Observable<EzfaProviderUnlinkedEvent>;
onProviderUnlinked(event: EzfaProviderUnlinkedEvent): void;
savedPopupPromise: Promise<firebase.auth.UserCredential> | null;
}