UNPKG

ngx-firebase-auth

Version:

Simple lightweight Firebase Authentication Service for Angular 12+

1 lines 6.88 kB
{"version":3,"file":"ngx-firebase-auth.mjs","sources":["../../../projects/ngx-firebase-auth/src/lib/ngx-firebase-auth.service.ts","../../../projects/ngx-firebase-auth/src/lib/ngx-firebase-auth.module.ts","../../../projects/ngx-firebase-auth/src/public-api.ts","../../../projects/ngx-firebase-auth/src/ngx-firebase-auth.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { AngularFireAuth } from '@angular/fire/compat/auth';\nimport firebase from 'firebase/compat/app';\nimport { Observable } from 'rxjs';\nimport { shareReplay } from 'rxjs/operators';\nimport { AuthContext } from './models/authContext';\nimport User = firebase.User;\n\n@Injectable({\n providedIn: 'root',\n})\nexport class NgxFirebaseAuthService {\n\n /**\n * Get the current User Observable from AngularFireAuth\n * @return Observable<FirebaseUser> if the user is authenticated.\n */\n public get currentUser$(): Observable<User | null> {\n return this.afAuth.authState.pipe(shareReplay());\n }\n\n /**\n * Gets the current user.\n * @return The user or null if the user is not authenticated.\n */\n public get currentUser(): firebase.User | null {\n return this.authState;\n }\n\n /**\n * Gets the current user id.\n * @return The user id or null if the user is not authenticated.\n */\n public get currentUserId(): string {\n return this.currentUser ? this.currentUser.uid : '';\n }\n\n /**\n * Checks is the user is authenticated.\n * @return True if the user is authenticated.\n */\n public get authenticated(): boolean {\n return this.authState != null;\n }\n\n /**\n * Checks if the user email is verified.\n * @return True if the user is authorized.\n */\n public get isVerified(): boolean | null {\n return this.currentUser && this.currentUser.emailVerified;\n }\n\n private authState: firebase.User | null;\n\n constructor(private afAuth: AngularFireAuth) {\n this.authState = null;\n this.afAuth.authState.subscribe((authState: firebase.User | null) => {\n this.authState = authState;\n });\n }\n\n /**\n * Register the user.\n * @param context The register parameters.\n * @return The user credentials.\n */\n public register(context: AuthContext): Promise<firebase.auth.UserCredential> {\n return this.afAuth.createUserWithEmailAndPassword(context.email, context.password);\n }\n\n /**\n * Login the user.\n * @param context The login parameters.\n * @return The user credentials.\n */\n public login(context: AuthContext): Promise<firebase.auth.UserCredential> {\n return this.afAuth.signInWithEmailAndPassword(context.email, context.password);\n }\n\n /**\n * Logs out the user and clear credentials.\n * @return void\n */\n public logout(): Promise<void> {\n // Customize credentials invalidation here\n return this.afAuth.signOut();\n }\n\n /**\n * Sends Email Verification e.g. after registration.\n * @return void\n */\n public sendEmailVerification(): Promise<void> {\n const currentUser: firebase.User | null = firebase.auth().currentUser;\n if (currentUser) {\n return currentUser.sendEmailVerification();\n }\n\n return new Promise(async (_, reject) => reject('Could not call sendEmailVerification - No User available!'));\n }\n\n /**\n * Sends reset password mail\n * @return void\n */\n public sendPasswordResetEmail(email: string): Promise<void> {\n return this.afAuth.sendPasswordResetEmail(email);\n }\n\n /**\n * Reauthenticate an user, e.g. when updating user email\n * @return return new firebase user\n */\n public reauthenticateUser(password: string): Promise<firebase.User> {\n const firebaseUser: firebase.User | null = this.currentUser;\n if (firebaseUser?.email != null) {\n const credentials = firebase.auth.EmailAuthProvider.credential(firebaseUser.email, password);\n return new Promise((resolve, reject) => {\n firebaseUser.reauthenticateWithCredential(credentials).then(() => {\n resolve(firebaseUser);\n }).catch((err) => {\n console.log(err);\n reject('Verification failed');\n });\n });\n }\n\n return new Promise((_, reject) => reject('Could not call reauthenticateUser - No User available!'));\n }\n}\n","import { NgModule } from '@angular/core';\nimport { NgxFirebaseAuthService } from './ngx-firebase-auth.service';\n\n\n@NgModule({\n providers: [\n NgxFirebaseAuthService,\n ],\n})\nexport class NgxFirebaseAuthModule {\n}\n","/*\n * Public API Surface of ngx-firebase-auth\n */\n\nexport * from './lib/ngx-firebase-auth.service';\nexport * from './lib/ngx-firebase-auth.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}