@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
JavaScript
/**
* @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