Gathering detailed insights and metrics for ngx-auth-firebaseui
Gathering detailed insights and metrics for ngx-auth-firebaseui
Gathering detailed insights and metrics for ngx-auth-firebaseui
Gathering detailed insights and metrics for ngx-auth-firebaseui
firebaseui-auth
Stencil Components for Firebase Auth
firebaseui-auth-angular
FirebaseUI Authentication for Angular provides simple, customizable components to make integrating Firebase authentication with Angular applications straightforward.
ngx-auth-firebaseui-folio
Open Source Library for Angular Web Apps to integrate a material user interface for firebase authentication
ngx-auth-firebaseui-2
Open Source Library for Angular Web Apps to integrate a material user interface for firebase authentication
Angular Material UI component for firebase authentication
npm install ngx-auth-firebaseui
Typescript
Module System
Min. Node Version
Node Version
NPM Version
TypeScript (50.94%)
HTML (44.25%)
SCSS (4.12%)
JavaScript (0.69%)
Total Downloads
0
Last Day
0
Last Week
0
Last Month
0
Last Year
0
MIT License
590 Stars
1,117 Commits
166 Forks
24 Watchers
85 Branches
42 Contributors
Updated on Jul 14, 2025
Latest Version
7.1.0
Package Id
ngx-auth-firebaseui@7.1.0
Unpacked Size
1.49 MB
Size
271.59 kB
File Count
158
NPM Version
8.11.0
Node Version
16.15.1
Cumulative downloads
Total Downloads
Last Day
0%
NaN
Compared to previous day
Last Week
0%
NaN
Compared to previous week
Last Month
0%
NaN
Compared to previous month
Last Year
0%
NaN
Compared to previous year
Angular UI component for firebase authentication. This library is an angular module (including angular components and services) that allows to authenticate your users with your firebase project. NgxAuthFirebseUI is compatible with angular material and angular flexLayout.
If you prefer to develop with bootstrap rather than with material design, please check this project @firebaseui/ng-bootstrap
Do you have any
question or suggestion ? Please do not hesitate to contact us!
Alternatively, provide a PR | open an appropriate issue here
If you like this project, support ngx-auth-firebaseui by starring :star: and sharing it :loudspeaker:
Features | ngx-auth-firebaseui | firebaseui |
---|---|---|
Sign Up | :heavy_check_mark: | :heavy_check_mark: |
Sign In | :heavy_check_mark: | :heavy_check_mark: |
Sign In Anonymously | :heavy_check_mark: | :heavy_check_mark: |
Sign In with Google | :heavy_check_mark: | :heavy_check_mark: |
Sign In with Apple | :heavy_check_mark: | :heavy_check_mark: |
Sign In with Facebook | :heavy_check_mark: | :heavy_check_mark: |
Sign In with Twitter | :heavy_check_mark: | :heavy_check_mark: |
Sign In with Github | :heavy_check_mark: | :heavy_check_mark: |
Sign In with Microsoft | :heavy_check_mark: | :heavy_check_mark: |
Sign In with Yahoo | :heavy_check_mark: | :heavy_check_mark: |
Sign In with Phonenumber | :x: | :heavy_check_mark: |
Sign out | :heavy_check_mark: | :x: |
Sign in/up progress indicator | :heavy_check_mark: | :x: |
Password Strength indicator | :heavy_check_mark: | :x: |
Forgot/Reset Password | :heavy_check_mark: | :x: |
Password Strength Meter | :heavy_check_mark: | :x: |
Delete account | :heavy_check_mark: | :x: |
Login Authentication Guard | :heavy_check_mark: | :x: |
User Profile | :heavy_check_mark: | :x: |
Check whether user's email is verified | :heavy_check_mark: | :x: |
Edit user's display name (incl. validation) | :heavy_check_mark: | :x: |
Edit user's email (incl. validation) | :heavy_check_mark: | :x: |
Edit user's phone number (incl. validation) | :heavy_check_mark: | :x: |
Configure your favorite auth provider in runtime | :heavy_check_mark: | :x: |
Sync user'auth with Firestore read more | :heavy_check_mark: | :x: |
Animations | :heavy_check_mark: | :x: |
Angular v2-13 friendly | :heavy_check_mark: | :x: |
Internationalization (i18n) | :heavy_check_mark: | :heavy_check_mark: |
Ionic/cordova support | :soon: @firebaseui/ionic-auth | :x: |
Real time form validation | :heavy_check_mark: | :x: |
Easy to integrate | :heavy_check_mark: | :x: |
Support Server Side Rendering | :heavy_check_mark: | :x: |
Support SPA without further config | :heavy_check_mark: | :x: |
Support Safari private browsing | :heavy_check_mark: | :interrobang: |
AWESOME | :heavy_check_mark: | :interrobang: |
any
important event occurred.ngx-auth-firebaseui-user
<ngx-auth-firebaseui>
used for the authentication process see more<ngx-auth-firebaseui-register>
standalone registration component to create new accounts see more<ngx-auth-firebaseui-login>
standalone login component to use already created accounts see more<ngx-auth-firebaseui-providers>
used to display only buttons for providers like google, facebook, twitter, github, microsoft and yahoo see more<ngx-auth-firebaseui-user>
used to display/edit the data of the current authenticated user in form of a material card see more<ngx-auth-firebaseui-avatar>
used to display/edit the data of the current authenticated user in the toolbar see morenumber
:soon:number
LoggedInGuard
used to protect angular routes from unauthenticated users (with fallback routes via NgxAuthFirebaseUIConfig
)the full tutorial guide can be found here
take a look at live example with firestore's synchronization here
in combination with ngx-auth-firebaseui-user
Please note: when the view port is getting too small, the layout will be
automatically change to column
1"peerDependencies": { 2 "@angular/core": "^13.x", 3 "@angular/animations": "^13.x", 4 "@angular/cdk": "^13.x", 5 "@angular/flex-layout": "^13.0.0-beta.38", 6 "@angular/forms": "^13.x", 7 "@angular/material": "^13.x", 8 "@angular/fire": "7.x", 9 "firebase": "9.x", 10 }
the @angular-material-extensions/password-strength is used to indicate how secure is the provided password when registering a new firebase user e.g:
If Angular Material Design is not setup, just run ng add @angular/material
learn more
Now add the library via the angular schematics
1ng add ngx-auth-firebaseui
ngx-auth-firebaseui
's module will be automatically imported to the root module (just replace PUT_YOUR_FIREBASE_API_KEY_HERE
with your firebase api key)ngx-auth-firebaseui
's assets will be automatically added the angular.json
fileInstall above dependencies via npm.
Now install ngx-auth-firebaseui
via:
1npm install --save ngx-auth-firebaseui
Install the dependencies @angular-material-extensions/password-strength
via:
1npm install --save @angular-material-extensions/password-strength
1npm i -s @angular/material @angular/cdk @angular/flex-layout @angular/forms @angular/animations @angular/router
Firebase deps
1npm i -s firebase @angular/fire
-> continue by following the instructions
here
Once installed you need to import the main module:
1import { NgxAuthFirebaseUIModule } from 'ngx-auth-firebaseui';
The only remaining part is to list the imported module in your application module. The exact method will be slightly
different for the root (top-level) module for which you should end up with the code similar to (notice NgxAuthFirebaseUIModule .forRoot()
):
and then from your Angular AppModule
:
1import { BrowserModule } from '@angular/platform-browser'; 2import { NgModule } from '@angular/core'; 3 4import { AppComponent } from './app.component'; 5 6// Import your library 7import { NgxAuthFirebaseUIModule } from 'ngx-auth-firebaseui'; 8import {BrowserAnimationsModule} from '@angular/platform-browser/animations'; 9 10@NgModule({ 11 declarations: [ 12 AppComponent 13 ], 14 imports: [ 15 BrowserModule, 16 BrowserAnimationsModule, 17 18 // Specify the ngx-auth-firebaseui library as an import 19 NgxAuthFirebaseUIModule.forRoot({ 20 apiKey: 'your-firebase-apiKey', 21 authDomain: 'your-firebase-authDomain', 22 databaseURL: 'your-firebase-databaseURL', 23 projectId: 'your-firebase-projectId', 24 storageBucket: 'your-firebase-storageBucket', 25 messagingSenderId: 'your-firebase-messagingSenderId' 26 }), 27 ], 28 providers: [], 29 bootstrap: [AppComponent] 30}) 31export class AppModule { } 32
Other modules in your application can simply import NgxAuthFirebaseUIModule
:
1import { NgxAuthFirebaseUIModule } from 'ngx-auth-firebaseui'; 2 3@NgModule({ 4 declarations: [OtherComponent, ...], 5 imports: [NgxAuthFirebaseUIModule, ...], 6}) 7export class OtherModule { 8}
Note:If you are using
SystemJS
, you should adjust your configuration to point to the UMD bundle. In your systemjs config file,map
needs to tell the System loader where to look forngx-auth-firebaseui
:
1map: { 2 'ngx-auth-firebaseui': 'node_modules/ngx-auth-firebaseui/bundles/ngx-auth-firebaseui.umd.js', 3}
1import { BrowserModule } from '@angular/platform-browser'; 2import { NgModule } from '@angular/core'; 3 4import { AppComponent } from './app.component'; 5 6// Import your library 7import { NgxAuthFirebaseUIModule } from 'ngx-auth-firebaseui'; 8import {BrowserAnimationsModule} from '@angular/platform-browser/animations'; 9 10@NgModule({ 11 declarations: [ 12 AppComponent 13 ], 14 imports: [ 15 BrowserModule, 16 BrowserAnimationsModule, 17 18 // Specify the ngx-auth-firebaseui library as an import 19 NgxAuthFirebaseUIModule.forRoot( 20 { 21 apiKey: 'your-firebase-apiKey', 22 authDomain: 'your-firebase-authDomain', 23 databaseURL: 'your-firebase-databaseURL', 24 projectId: 'your-firebase-projectId', 25 storageBucket: 'your-firebase-storageBucket', 26 messagingSenderId: 'your-firebase-messagingSenderId' 27 }, 28 () => 'your_app_name_factory', 29 { 30 enableFirestoreSync: true, // enable/disable autosync users with firestore 31 toastMessageOnAuthSuccess: false, // whether to open/show a snackbar message on auth success - default : true 32 toastMessageOnAuthError: false, // whether to open/show a snackbar message on auth error - default : true 33 authGuardFallbackURL: '/loggedout', // url for unauthenticated users - to use in combination with canActivate feature on a route 34 authGuardLoggedInURL: '/loggedin', // url for authenticated users - to use in combination with canActivate feature on a route 35 passwordMaxLength: 60, // `min/max` input parameters in components should be within this range. 36 passwordMinLength: 8, // Password length min/max in forms independently of each componenet min/max. 37 // Same as password but for the name 38 nameMaxLength: 50, 39 nameMinLength: 2, 40 // If set, sign-in/up form is not available until email has been verified. 41 // Plus protected routes are still protected even though user is connected. 42 guardProtectedRoutesUntilEmailIsVerified: true, 43 enableEmailVerification: true, // default: true 44 useRawUserCredential: true, // If set to true outputs the UserCredential object instead of firebase.User after login and signup - Default: false 45 }), 46 ], 47 providers: [], 48 bootstrap: [AppComponent] 49}) 50export class AppModule { } 51
Once the library is imported, you can use its components, directives and pipes in your Angular application:
<ngx-auth-firebaseui></ngx-auth-firebaseui>
see the usage<ngx-auth-firebaseui-login></ngx-auth-firebaseui-login>
see the usage<ngx-auth-firebaseui-register></ngx-auth-firebaseui-register>
see the usage<ngx-auth-firebaseui-providers></ngx-auth-firebaseui-providers>
see the usage<ngx-auth-firebaseui-user></ngx-auth-firebaseui-user>
see the usage<ngx-auth-firebaseui-avatar></ngx-auth-firebaseui-avatar>
see the usage<ngx-auth-firebaseui></ngx-auth-firebaseui>
see the api<ngx-auth-firebaseui-login></ngx-auth-firebaseui-login>
see the api<ngx-auth-firebaseui-register></ngx-auth-firebaseui-register>
see the api<ngx-auth-firebaseui-providers></ngx-auth-firebaseui-providers>
see the api<ngx-auth-firebaseui-user></ngx-auth-firebaseui-user>
see the api<ngx-auth-firebaseui-avatar></ngx-auth-firebaseui-avatar>
see the apiIf you want to prevent a route to be accessed from non authorized users, you can
use a built in LoggedInGuard
angular router guard.
NgxAuthFirebaseUIConfig
under authGuardFallbackURL
NgxAuthFirebaseUIConfig
under authGuardLoggedInURL
1import {NgxAuthFirebaseUIModule} from 'ngx-auth-firebaseui';
2
3
4NgxAuthFirebaseUIModule.forRoot(firebaseKey, firebaseAppNameFactory,
5 {
6 authGuardFallbackURL: 'examples/logged-out',
7 authGuardLoggedInURL: 'examples/logged-in',
8 }),
if the user is logged in, he will be redirected to examples/logged-in
route (per example),
otherwise he will be redirected to the examples/logged-out
route
LoggedInGuard
in your router module1import {NgModule} from '@angular/core'; 2import {Routes, RouterModule} from '@angular/router'; 3 4import {LoggedInGuard} from 'ngx-auth-firebaseui'; 5 6const routes: Routes = [ 7 { 8 path: '', 9 redirectTo: 'home', 10 pathMatch: 'full' 11 }, 12 { 13 path: 'secured', 14 loadChildren: 'app/secured/secured.module#SecuredModule', 15 canActivate: [LoggedInGuard] 16 } 17]; 18 19@NgModule({ 20 imports: [RouterModule.forRoot(routes)], 21 exports: [RouterModule] 22}) 23export class AppRoutingModule { 24} 25
Built by and for developers :heart: we will help you :punch:
https://www.youtube.com/watch?v=qP5zw7fjQgo&feature=emb_logo&ab_channel=Fireship https://www.youtube.com/watch?v=KpfJCEvpS9g&t=2s&ab_channel=JsWiz
Are you missing your project or you app? PR me to publish it on the README
This project is supported by jetbrains with 1 ALL PRODUCTS PACK OS LICENSE incl. webstorm
Best angular and firebase stuff by Jeff Delaney on firebase.io
check this out
Copyright (c) 2019-2022 Anthony Nahas. Licensed under the MIT License (MIT)
No vulnerabilities found.
Reason
no vulnerabilities detected
Reason
no dangerous workflow patterns detected
Reason
tokens are read-only in GitHub workflows
Reason
license file detected
Details
Reason
all dependencies are pinned
Details
Reason
no binaries found in the repo
Reason
GitHub code reviews found for 4 commits out of the last 30 -- score normalized to 1
Details
Reason
0 commit(s) out of 30 and 0 issue activity out of 30 found in the last 90 days -- score normalized to 0
Reason
no badge detected
Reason
branch protection not enabled on development/release branches
Details
Reason
security policy file not detected
Reason
project is not fuzzed
Score
Last Scanned on 2022-08-15
The Open Source Security Foundation is a cross-industry collaboration to improve the security of open source software (OSS). The Scorecard provides security health metrics for open source projects.
Learn More