ember-seneca-auth

Senecajs' seneca-auth api client and authenticator for ember-simple-auth

Usage no npm install needed!

<script type="module">
  import emberSenecaAuth from 'https://cdn.skypack.dev/ember-seneca-auth';
</script>

README

ember-seneca-auth

Senecajs' seneca-auth api client and authenticator for ember-simple-auth

npm version Build Status dependencies Status Code Climate

This Ember addon provides two features:

ember-simple-auth is not part of this addon. It won't be installed to your Ember app.

Installation

You can install either with ember install:

For Ember CLI >= 0.2.3:

ember install ember-seneca-auth

For Ember CLI < 0.2.3:

ember install:addon ember-seneca-auth

Compatibility

This addon ist tested against the release, beta, canary channels and version 1.13.

Usage

Usage is simple. Use the seneca ember-simple-auth authenticator or inject the senecaAuth service and use the methods which resembles the seneca-auth API.

ember-simple-auth authenticator

export default Ember.Component.extend({
  session: Ember.inject.service(),
  
  actions: {
    login() {
      this.get('session').authenticate('authenticator:seneca', 'user@example.com', 'secret')
        .then(() => console.log('Login successful'))
        .catch((reason) => console.log('Login failed', reason));
    }
  }
})

seneca-auth service

export default Ember.Component.extend({
  senecaAuth: Ember.inject.service(),
    
  actions: {
    login() {
      this.get('senecaAuth').login('user@example.com', 'secret')
        .then((result) => console.log('Login successful', result))
        .catch((reason) => console.log('Login failed', reason));
    }
  }
})

Examples

Options

// config/environment.js
module.exports = function(environment) {
  return {
    'seneca-auth': {
      // `seneca-auth` returns beside the `login` object the `user` object. Use
      // this option to assign values from the user to the login object.
      //
      // Specifiy either a string, an array or `true` to assign all the
      // users properties except `'id'` (this would overwrite the login id and
      // is never assigned).
      assignFromUser: ['name', 'myProp']
    }
  }
}

API

The seneca-auth service provides methods according to the seneca-auth API.

The seneca authenticator implements the methods specified by ember-simple-auth's BaseAuthenticator.

See API for more details.

Changelog

CHANGELOG

License

MIT

Contributing

Installation

  • git clone this repository
  • npm install
  • bower install

Running Dummy App

  • ./scripts/start-server.sh
  • ember serve --proxy http://localhost:3000
  • Visit your app at http://localhost:4200.
  • ./scripts/stop-server.sh

Running Tests

  • npm test (Runs ember try:testall to test your addon against multiple Ember versions). Automatically starts and stops the seneca server.
  • ./scripts/start-server.sh
    ember test
    ./scripts/stop-server.sh
  • ./scripts/start-server.sh
    ember test --server
    ./scripts/stop-server.sh

Building

  • ember build

For more information on using ember-cli, visit http://ember-cli.com/.