ember-on-fire

An alternative supported adapter for using Firebase with Ember

Usage no npm install needed!

<script type="module">
  import emberOnFire from 'https://cdn.skypack.dev/ember-on-fire';
</script>

README

ember-on-fire

Ember OnFire is an adapter for use Firebase with Ember. Currently the following are the services implemented:

Installation

ember install ember-on-fire

Add configuration to

let ENV = {
    firebase: {
      apiKey: "key",
      authDomain: "app.firebaseapp.com",
      databaseURL: "https://app.firebaseio.com",
      projectId: "app",
      storageBucket: "app.appspot.com",
      messagingSenderId: "1234567890"
    }
}

Example use

// app/authenticators/password.js
import FirestoreAdapter from 'emberfire/adapters/firestore';

import FirebasePasswordAuthenticator from 'ember-on-fire/authenticators/firebase-password';

export default class PasswordAuthenticator extends FirebasePasswordAuthenticator {}
import Controller from '@ember/controller';
import { action } from '@ember/object';
import { tracked } from '@glimmer/tracking';
import { inject as service } from '@ember/service';

export default class SampleController extends Controller {
    @service firebaseApp;
    @service session;

    @action
    async login() {
        try {
            await this.session.authenticate('authenticator:password', 'gianluca.tomasino@gmail.com', 'password');
        } catch(error) {
            this.errorMessage = error.error || error;
        }

        if (this.session.isAuthenticated) {
            //Logic after login
        }
    }

    @action
    async logout() {
        await this.session.invalidate();

        //Logic after logout      
    }
}

Documentation

Contributing

See the Contributing guide for details.

License

This project is licensed under the MIT License.