Ember-simple-auth custom authorizer not called

孤街醉人 提交于 2019-12-12 02:22:36

问题


I'm trying to implement custom auth with ember-simple-auth and I stuck at the start. I have app/autheticators/digest.js

import Base from 'ember-simple-auth/authenticators/base';
import Ember from 'ember';

export default Base.extend({
  restore(data) {
    //
  },
  authenticate(email, password) {
    console.log(email, password);
    return new Ember.RSVP.Promise(function(resolve, reject) {
      Ember.run(function() {
          resolve({email: email, password: password});
        });
    });
  },
  invalidate(data) {
    //
  }
});

app/authorizers/digest.js

import Base from 'simple-auth/authorizers/base';  
import Ember from 'ember';

export default Base.extend({  
  header: function() {
    return "test-digest";
  },

  authorize: function(sessionData, block) {
    console.log('authorize...');
    block('Authorization', this.get('header'));
  }
});

Login component:

import Ember from 'ember';
import CryptoJS from 'npm:crypto-js';

export default Ember.Component.extend({
    session: Ember.inject.service('session'),
    actions: {
        login() {
            let { email, password } = this.getProperties('email', 'password');
            this.get("session").authenticate('autheticator:digest', 
                email, CryptoJS.SHA256(password).toString()).catch((reason) => {
                this.set('errorMessage', reason.error);
            });
        }
    }

});

Authentication called properly (I hope), but "authorize" in authorizer never called. I also tried add some values to ENV:

  ENV['simple-auth'] = {
    authorizer: 'authorizer:digest',
    crossOriginWhitelist: ['http://prod-drunkedguru.rhcloud.com:80/'] // ['*'] I also tried
  }; 

But nothing changed. What I'm doing wrong?

P.S. I'm using EmberJS 1.13.0 with EAS 1.0.


回答1:


I assume you're using ESA 1.0. In that version the authorizer isn't automatically called anymore but you need to call it manually. There is the DataAdapterMixin that you can use to automatically authorizer Ember Data requests though. See this blog post for guidance on migrating to 1.0: http://log.simplabs.com/post/131698328145/updating-to-ember-simple-auth-10



来源:https://stackoverflow.com/questions/33483643/ember-simple-auth-custom-authorizer-not-called

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!