UNPKG

@nowzoo/ngx-firebase-auth

Version:

Angular components for Firebase email-first sign in and out-of-band (oob) actions (reset password, etc).

86 lines (85 loc) 6.41 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc */ import { Injectable } from '@angular/core'; import { AngularFireAuth } from 'angularfire2/auth'; import { auth } from 'firebase/app'; import * as i0 from "@angular/core"; import * as i1 from "angularfire2/auth"; export class NgxFirebaseAuthService { /** * @param {?} _afAuth */ constructor(_afAuth) { this._afAuth = _afAuth; } /** * @return {?} */ get auth() { return this._afAuth.auth; } /** * @return {?} */ get storage() { return window.localStorage; } /** * @return {?} */ getRemembered() { /** @type {?} */ const str = this.storage.getItem(NgxFirebaseAuthService.rememberKey); if (str) { try { return JSON.parse(str); } catch (e) { return { email: '', remember: true }; } } return { email: '', remember: true }; } /** * @param {?} remember * @param {?} email * @return {?} */ setRemembered(remember, email) { /** @type {?} */ const persistence = remember ? auth.Auth.Persistence.LOCAL : auth.Auth.Persistence.SESSION; return this.auth.setPersistence(persistence) .then(() => { /** @type {?} */ const o = { email: remember ? email : '', remember: remember }; /** @type {?} */ const str = JSON.stringify(o); this.storage.setItem(NgxFirebaseAuthService.rememberKey, str); return o; }); } } NgxFirebaseAuthService.rememberKey = 'ngx-firebase-auth-remember'; NgxFirebaseAuthService.decorators = [ { type: Injectable, args: [{ providedIn: 'root' },] }, ]; /** @nocollapse */ NgxFirebaseAuthService.ctorParameters = () => [ { type: AngularFireAuth } ]; /** @nocollapse */ NgxFirebaseAuthService.ngInjectableDef = i0.defineInjectable({ factory: function NgxFirebaseAuthService_Factory() { return new NgxFirebaseAuthService(i0.inject(i1.AngularFireAuth)); }, token: NgxFirebaseAuthService, providedIn: "root" }); if (false) { /** @type {?} */ NgxFirebaseAuthService.rememberKey; /** @type {?} */ NgxFirebaseAuthService.prototype._afAuth; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LWZpcmViYXNlLWF1dGguc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bub3d6b28vbmd4LWZpcmViYXNlLWF1dGgvIiwic291cmNlcyI6WyJsaWIvbmd4LWZpcmViYXNlLWF1dGguc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDcEQsT0FBTyxFQUFFLElBQUksRUFBUSxNQUFNLGNBQWMsQ0FBQzs7O0FBTTFDLE1BQU07Ozs7SUFHSixZQUNVO1FBQUEsWUFBTyxHQUFQLE9BQU87S0FDWjs7OztJQUVMLElBQUksSUFBSTtRQUNOLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQztLQUMxQjs7OztJQUNELElBQUksT0FBTztRQUNULE1BQU0sQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDO0tBQzVCOzs7O0lBRUQsYUFBYTs7UUFDWCxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxzQkFBc0IsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNyRSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQ1IsSUFBSSxDQUFDO2dCQUNILE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2FBQ3hCO1lBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7Z0JBQ1gsTUFBTSxDQUFDLEVBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFDLENBQUM7YUFDcEM7U0FDRjtRQUNELE1BQU0sQ0FBQyxFQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBQyxDQUFDO0tBQ3BDOzs7Ozs7SUFFRCxhQUFhLENBQUMsUUFBaUIsRUFBRSxLQUFhOztRQUM1QyxNQUFNLFdBQVcsR0FBMEIsUUFBUSxDQUFDLENBQUM7WUFDbkQsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUM7UUFDOUQsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQzthQUN6QyxJQUFJLENBQUMsR0FBRyxFQUFFOztZQUNULE1BQU0sQ0FBQyxHQUFtQztnQkFDeEMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFO2dCQUM1QixRQUFRLEVBQUUsUUFBUTthQUNuQixDQUFDOztZQUNGLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDOUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsc0JBQXNCLENBQUMsV0FBVyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1lBQzlELE1BQU0sQ0FBQyxDQUFDLENBQUM7U0FDVixDQUFDLENBQUM7S0FDTjs7cUNBdENvQiw0QkFBNEI7O1lBSmxELFVBQVUsU0FBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQjs7OztZQU5RLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBbmd1bGFyRmlyZUF1dGggfSBmcm9tICdhbmd1bGFyZmlyZTIvYXV0aCc7XG5pbXBvcnQgeyBhdXRoLCBVc2VyIH0gZnJvbSAnZmlyZWJhc2UvYXBwJztcbmltcG9ydCB7IElOZ3hGaXJlYmFzZUF1dGhSZW1lbWJlclJlY29yZCB9IGZyb20gJy4vc2hhcmVkJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgTmd4RmlyZWJhc2VBdXRoU2VydmljZSB7XG4gIHN0YXRpYyByZW1lbWJlcktleSA9ICduZ3gtZmlyZWJhc2UtYXV0aC1yZW1lbWJlcic7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBfYWZBdXRoOiBBbmd1bGFyRmlyZUF1dGhcbiAgKSB7IH1cblxuICBnZXQgYXV0aCgpOiBhdXRoLkF1dGgge1xuICAgIHJldHVybiB0aGlzLl9hZkF1dGguYXV0aDtcbiAgfVxuICBnZXQgc3RvcmFnZSgpOiBTdG9yYWdlIHtcbiAgICByZXR1cm4gd2luZG93LmxvY2FsU3RvcmFnZTtcbiAgfVxuXG4gIGdldFJlbWVtYmVyZWQoKTogSU5neEZpcmViYXNlQXV0aFJlbWVtYmVyUmVjb3JkIHtcbiAgICBjb25zdCBzdHIgPSB0aGlzLnN0b3JhZ2UuZ2V0SXRlbShOZ3hGaXJlYmFzZUF1dGhTZXJ2aWNlLnJlbWVtYmVyS2V5KTtcbiAgICBpZiAoc3RyKSB7XG4gICAgICB0cnkge1xuICAgICAgICByZXR1cm4gSlNPTi5wYXJzZShzdHIpO1xuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICByZXR1cm4ge2VtYWlsOiAnJywgcmVtZW1iZXI6IHRydWV9O1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4ge2VtYWlsOiAnJywgcmVtZW1iZXI6IHRydWV9O1xuICB9XG5cbiAgc2V0UmVtZW1iZXJlZChyZW1lbWJlcjogYm9vbGVhbiwgZW1haWw6IHN0cmluZyk6IFByb21pc2U8SU5neEZpcmViYXNlQXV0aFJlbWVtYmVyUmVjb3JkPiB7XG4gICAgY29uc3QgcGVyc2lzdGVuY2U6IGF1dGguQXV0aC5QZXJzaXN0ZW5jZSA9IHJlbWVtYmVyID9cbiAgICAgIGF1dGguQXV0aC5QZXJzaXN0ZW5jZS5MT0NBTCA6IGF1dGguQXV0aC5QZXJzaXN0ZW5jZS5TRVNTSU9OO1xuICAgIHJldHVybiB0aGlzLmF1dGguc2V0UGVyc2lzdGVuY2UocGVyc2lzdGVuY2UpXG4gICAgICAudGhlbigoKSA9PiB7XG4gICAgICAgIGNvbnN0IG86IElOZ3hGaXJlYmFzZUF1dGhSZW1lbWJlclJlY29yZCA9IHtcbiAgICAgICAgICBlbWFpbDogcmVtZW1iZXIgPyBlbWFpbCA6ICcnLFxuICAgICAgICAgIHJlbWVtYmVyOiByZW1lbWJlclxuICAgICAgICB9O1xuICAgICAgICBjb25zdCBzdHIgPSBKU09OLnN0cmluZ2lmeShvKTtcbiAgICAgICAgdGhpcy5zdG9yYWdlLnNldEl0ZW0oTmd4RmlyZWJhc2VBdXRoU2VydmljZS5yZW1lbWJlcktleSwgc3RyKTtcbiAgICAgICAgcmV0dXJuIG87XG4gICAgICB9KTtcbiAgfVxuXG5cblxufVxuIl19