未调用自定义授权程序

时间:2014-10-16 18:07:34

标签: ember-cli ember-simple-auth

我正在尝试实现自定义授权程序(使用ember-cli和ember-cli-simple-auth),但未在任何请求上调用authorize方法。正在调用init函数,并且在没有注册授权程序时控制台中显示的消息不再显示。这是初始化代码:

import Ember from 'ember';
import Base from 'simple-auth/authorizers/base';
import ENV from '../config/environment';

ENV['simple-auth'] = ENV['simple-auth'] || {};
ENV['simple-auth'].authorizer = 'authorizer:custom';
ENV['simple-auth'].crossOriginWhiteList = [ENV.NET.API_ENDPOINT];

var CustomAuthorizer = Base.extend({
    init: function () {
        console.log('Intialize authorizer');
    },
    authorize: function(jqXHR, requestOptions) {
        console.log('Authorize');
        var token = this.get('session.token');
        if(this.get('session.isAuthenticated') && !Ember.isEmpty(token)) {
            authValue = "Token " + token;
            jqXHR.setRequestHeader('Authorization', authValue);
        }
    }
});

export default {
    name: 'authorization',
    before: 'simple-auth',
    initialize: function(container, application) {
        console.log('Registered');
        container.register('authorizer:custom', CustomAuthorizer);
    }
};

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:0)

这里的问题非常愚蠢:crossOriginWhitelist的外壳不正确。