https://github.com/indr/ember-seneca-auth
Senecajs' seneca-auth api client and authenticator for ember-simple-auth
https://github.com/indr/ember-seneca-auth
Last synced: 2 months ago
JSON representation
Senecajs' seneca-auth api client and authenticator for ember-simple-auth
- Host: GitHub
- URL: https://github.com/indr/ember-seneca-auth
- Owner: indr
- License: mit
- Created: 2016-07-31T14:07:36.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2016-08-12T06:48:43.000Z (almost 9 years ago)
- Last Synced: 2025-02-24T02:06:25.405Z (3 months ago)
- Language: JavaScript
- Size: 80.1 KB
- Stars: 3
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE.md
Awesome Lists containing this project
README
# ember-seneca-auth
*Senecajs' seneca-auth api client and authenticator for ember-simple-auth*
[](https://badge.fury.io/js/ember-seneca-auth)
[](https://travis-ci.org/indr/ember-seneca-auth)
[](https://david-dm.org/indr/ember-seneca-auth)
[](https://codeclimate.com/github/indr/ember-seneca-auth)This Ember addon provides two features:
* A service for the [seneca-auth](https://github.com/senecajs/seneca-auth) API
* An [ember-simple-auth](http://ember-simple-auth.com/) authenticator`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`:
```shell
ember install ember-seneca-auth
```For Ember CLI < `0.2.3`:
```shell
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
```javascript
export default Ember.Component.extend({
session: Ember.inject.service(),
actions: {
login() {
this.get('session').authenticate('authenticator:seneca', '[email protected]', 'secret')
.then(() => console.log('Login successful'))
.catch((reason) => console.log('Login failed', reason));
}
}
})
```### seneca-auth service
```javascript
export default Ember.Component.extend({
senecaAuth: Ember.inject.service(),
actions: {
login() {
this.get('senecaAuth').login('[email protected]', 'secret')
.then((result) => console.log('Login successful', result))
.catch((reason) => console.log('Login failed', reason));
}
}
})
```### Examples
* [Install](#installation-1) and [run](#running-dummy-app) the dummy app.
* The [acceptance tests](https://github.com/indr/ember-seneca-auth/blob/master/tests/acceptance/) use a real seneca back-end.
Have a look at the seneca server in the [scripts folder](https://github.com/indr/ember-seneca-auth/tree/master/scripts).## Options
```js
// 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](API.md#module_seneca-auth) provides methods according to the [seneca-auth API](https://github.com/senecajs/seneca-auth#api).
The [seneca authenticator](API.md#module_seneca) implements the methods specified by ember-simple-auth's [BaseAuthenticator](http://ember-simple-auth.com/api/classes/BaseAuthenticator.html).
See [API](API.md) for more details.
## Changelog
[CHANGELOG](CHANGELOG.md)
## License
[MIT](LICENSE.md)
## 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/](http://ember-cli.com/).