Javascript 余烬CLI+;余烬数据+;简单身份验证:未调用authorize

Javascript 余烬CLI+;余烬数据+;简单身份验证:未调用authorize,javascript,ember.js,ember-cli,ember-simple-auth,Javascript,Ember.js,Ember Cli,Ember Simple Auth,我使用的是Ember CLI+Ember Data+Simple Auth。验证器工作正常。但是当我使用Ember Data Rest Adapter进行Rest调用时,this.store.findAll(“用户”)未调用自定义授权器中的授权函数 RESTAPI端点位于另一个域上,因此我将url添加到myEnvironment.js中的crossOriginWhitelist environment.js: module.exports = function(environment) {

我使用的是Ember CLI+Ember Data+Simple Auth。验证器工作正常。但是当我使用Ember Data Rest Adapter进行Rest调用时,
this.store.findAll(“用户”)未调用自定义授权器中的授权函数

RESTAPI端点位于另一个域上,因此我将url添加到myEnvironment.js中的
crossOriginWhitelist

environment.js:

module.exports = function(environment) {
    var ENV = {
        // some configuration
    };

    ENV['simple-auth'] = {
        crossOriginWhitelist: ['http://api.xxxx.com'],
        authorizer: 'authorizer:xxxx',
        routeAfterAuthentication: 'dashboard',
    };

    return ENV;
};
授权人

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

var XXXXAuthorizer = Base.extend({
    authorize: function(jqXHR, requestOptions) {
        // Some Code, gets not called, damn it :(
    }
});



export default {
    name: 'authorization',
    before: 'simple-auth',
    initialize: function(container) {
        container.register('authorizer:xxxx', XXXXAuthorizer);
    }
};
index.html

....
        <script>
            window.XXXXWebclientENV = {{ENV}};
            window.ENV = window.MyAppENV;
            window.EmberENV = window.XXXXWebclientENV.EmberENV;
        </script>
        <script>
            window.XXXXWebclient = require('xxxx-webclient/app')['default'].create(XXXXWebclientENV.APP);
        </script>
....
。。。。
window.xxwebclientenv={{ENV};
window.ENV=window.MyAppENV;
window.EmberENV=window.xxxxwebclientev.EmberENV;
window.XXXXWebclient=require('xxxx-webclient/app')['default'].create(xxxxwebclientv.app);
....

谢谢你的帮助:)

我也面临同样的问题。我有相同的设置,但未调用授权函数。您可以尝试将端口号添加到
crossOriginWhiteList url

我正在新的初始值设定项中添加
window.ENV=window.MyAppENV
行,该初始值设定项在简单身份验证之前运行。您已经在索引文件中添加了它,这可能就是simple auth无法读取配置的原因

另一个配置
routeAfterAuthentication:“dashboard”
是否正常工作?如果不是,这可能就是原因。尝试添加新的初始值设定项,如

  export default {
  name: 'simple-auth-config',
  before: 'simple-auth',

    initialize: function() {
        window.ENV = window.MyAppNameENV;
    }    
 };

我也有类似的问题。对我来说,这是
crossOriginWhitelist
config

我是这样设置的:

//config/environment.js
环境['simple-auth']={

crossOriginWhitelist:['*']//我刚刚检查了同一个域,它工作正常。因此,这肯定是一个跨源域问题。我认为简单身份验证无法读取
crossOriginWhiteList
配置。它开始对我起作用。我以前定义的端口号也是错误的。因此,在我删除该端口号后,它对我工作正常。