我已经将带有自定义身份验证器和授权器的 ember-cli 应用程序分别从 0.0.40 和 ember-cli-simple-auth 0.6.3 升级到版本 0.0.46 和 0.6.7。
身份验证工作正常,但 authorize() 方法不会触发,因此安全令牌不会添加到标头并返回 http 401 错误。
我在其他地方读到这可能是缺少 crossOriginWhitelist 问题,但我的 index.html 中有这个:
<script>
window.EmberENV = {{EMBER_ENV}};
<!-- Ember Simple Auth relies on window.ENV to read its configuration -->
window.ENV = window.EmberENV;
window.ENV['simple-auth'] = {
authorizer: 'authorizer:custom',
crossOriginWhitelist: window.EmberENV.APP.crossOriginWhitelist
};
</script>
这对我来说似乎很好。
我可以通过在我的 beforeModel() 授权检查中将其添加到 ajax 调用来消除 401 错误:
beforeSend: function (request)
{
request.setRequestHeader('Authorization', 'Bearer ' + self.get('session.token'));
},
但这当然是不对的;这只是一个创可贴。
有人有想法么?
谢谢,
比利B