2014-10-16 87 views
0

我試圖實現一個自定義授權人(使用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); 
    } 
}; 

任何幫助,將不勝感激。

回答

0

問題在這裏是相當愚蠢的:我的外殼crossOriginWhitelist是不正確的。

+0

嗨,亞歷克斯,你確定是因爲這個?我有同樣的問題,但沒有辦法... – masciugo 2014-11-06 16:37:23

+0

@masciugo是的,幸運的是,這是一個簡單的資本L導致的問題。如果你想開始一個新的問題並鏈接到它,我會看看。 – Alex 2014-11-07 18:19:35

+0

[解決](http://stackoverflow.com/a/26803347/626341),謝謝。很難調試JS應用程序.. – masciugo 2014-11-10 09:56:10