javascript - Need to inject model into services, Ember JS -
need help,
i'm new ember , trying auth service working login/out in cli... can't seem able call of handy orm helpers without getting undefined error...
i did working straight old jquery ajax, want working rest adapter.
services/authentication.js
import ember 'ember'; import ds 'ember-data'; import app '../app.js'; import user '../models/user.js'; import apikey '../models/api-key.js'; export default ember.object.extend({ //load current user if cookies exist , valid init: function() { this._super(); var accesstoken = ember.$.cookie('access_token'); var authuserid = ember.$.cookie('auth_user'); if (!ember.isempty(accesstoken) && !ember.isempty(authuserid)) { this.authenticate(accesstoken, authuserid); } }, //determine if user authenticated isauthenticated: function() { return !ember.isempty(this.get('apikey.accesstoken')) && !ember.isempty(this.get('apikey.user')); }, // auth user. once auth, set access token submitted // future ajax requests authenticate: function(accesstoken, userid) { ember.$.ajaxsetup({ headers: { 'authorization': 'bearer ' + accesstoken } }); user = user.find(userid) this.set('apikey', apikey.create({ accesstoken: accesstoken, user: user })); }, //log out user reset: function({ app.__container__.lookup('route:application').transitionto('session.new'); ember.run.sync(); ember.run.next('apikey', null); ember.$.ajaxsetup({ headers: { 'authorization' : 'bearer none' } }); }, // ensure when browser cookies refreshed apikeyobserver: function() { if (ember.isempty(this.get('apikey'))) { ember.$.removecookie('access_token'); ember.$.removecookie('auth_user'); } else { ember.$.cookie('access_token', this.get('apikey.accesstoken')); ember.$.cookie('auth_user', this.get('apikey.user.id')); } } }); // // reset authentication if ember data request returns 401 unauthorized error ds.rejectionhandler = function(reason) { if (reason.status === 401) { app.authmanager.reset(); } throw reason; };
Comments
Post a Comment