import Ember from 'ember'; import Base from 'ember-simple-auth/authenticators/base'; import ENV from '../config/environment'; export default Base.extend({ tokenEndpoint: 'http://' + ENV.APP.API_HOST + '/api/v1/authenticate', restore(data) { return new Ember.RSVP.Promise(function(resolve, reject) { if (!Ember.isEmpty(data.token)) { resolve(data); } else { reject(); } }); }, authenticate(username, password) { return new Ember.RSVP.Promise((resolve, reject) => { Ember.$.ajax({ url: this.tokenEndpoint, type: 'POST', data: JSON.stringify({ username: username, password: password }), contentType: 'application/json', dataType: 'json' }).then(function(response) { Ember.run(function() { resolve({ token: response.token }); }); }, function(xhr) { var response = JSON.parse(xhr.responseText); Ember.run(function() { reject(response.message); }); }); }); }, invalidate() { console.log('invalidate...'); return Ember.RSVP.resolve(); } });