私は Ember CLI + Ember Data + Simple Auth を使用しています。オーセンティケーターは正常に動作しています。しかし、Ember Data Rest Adapter を使用して Rest Call を実行しているときthis.store.findAll("user");
に、カスタム オーソライザーの承認関数が呼び出されません。
crossOriginWhitelist
Rest API エンドポイントは別のドメインにあるため、environment.js にURL を追加しました。
環境.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>
....
手伝ってくれてありがとう :)