FireAuth is Firebase auth library based on Rx principles.
Installation
Install package:
yarn add @typeheim/fire-auth
//or
npm -i @typeheim/fire-auth
Setup singleton services:
import { FireAuth, FireAuthSession } from '@typeheim/fire-auth'
const auth = firebase.auth()
FireAuth.setAuthDriver(auth)
FireAuthSession.setAuthDriver(auth)
Alternatively you can create your own singleton services or set up DI in your framework:
import { AuthManager, AuthSession } from '@typeheim/fire-auth'
const auth = firebase.auth()
const Auth = new AuthManager()
const Session = new AuthSession()
Auth.setAuthDriver(auth)
Session.setAuthDriver(auth)
Sample
import { FireAuth, FireAuthSession, AuthProvidersList } from '@typeheim/fire-auth'
FireAuth.throughProvider(AuthProvidersList.Google).signInWithPopup()
FireAuth.signIn(new PasswordAuth('email', 'password'))
FireAuthSession.userStream.subscribe(user => )
FireAuthSession.isLoggedInStream.subscribe(isLoggedIn => )
FireAuthSession.accessTokenStream.subscribe(token => )