This package allows integration with the default authorization tokens used with Strongloop's Loopback servers.
This project is an updated fork of the original rtablada's ember-simple-auth-loopback package.
ember install ember-simple-auth ember-simple-auth-loopback-3
This addon provides an authenticator to login users and store their session.
First create an authenticators/application.js
file with the following:
import Loopback from 'ember-simple-auth-loopback-3/authenticators/loopback';
export default Loopback.extend({
loginEndpoint: 'http://0.0.0.0:3000/api/Users/login',
});
Then use this from a controller (or route):
session: Ember.inject.service(),
login(email, password) {
this.get('session').authenticate('authenticator:application', email, password)
.catch((reason) => {
console.log(reason);
});
}
And, in the template:
<form {{action login email password}}>
<p>
<label>Email</label>
{{input value=email}}
</p>
<p>
<label>Password</label>
{{input value=password type="password"}}
</p>
<button>Submit</button>
</form>
Once logged in, API requests will need to be authorized using the token sent back from the login request.
To do this, first setup an app/authorizers/application.js
:
import Loopback from 'ember-simple-auth-loopback-3/authorizers/loopback';
export default Loopback.extend();
Then, in the app/adapters/application.js
, use the DataAdapterMixin
from ember-simple-auth
:
import JSONAPIAdapter from 'ember-data/adapters/json-api';
import DataAdapterMixin from 'ember-simple-auth/mixins/data-adapter-mixin';
export default JSONAPIAdapter.extend(DataAdapterMixin, {
authorizer: 'authorizer:application',
host: 'http://localhost:3000',
namespace: 'api',
});
npm run lint:hbs
npm run lint:js
npm run lint:js -- --fix
ember test
– Runs the test suite on the current Ember versionember test --server
– Runs the test suite in "watch mode"ember try:each
– Runs the test suite against multiple Ember versionsember serve
For more information on using ember-cli, visit https://ember-cli.com/.
This project is licensed under the MIT License.