Ember CLI + Ember Data + Simple Auth를 사용 중입니다. 인증자가 잘 작동합니다. 하지만 Ember Data Rest Adapter this.store.findAll("user");
으로 전화를 걸 때 내 맞춤형 인증 기관의 권한 부여 기능이 호출되지 않습니다.Ember CLI + Ember 데이터 + 단순 인증 : 권한이 호출되지 않음
나머지 API 끝점은 다른 도메인에 있으므로 내 환경 .js의 crossOriginWhitelist
에 URL을 추가했습니다.
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>
....
감사합니다 :)
동일한 도메인을 확인한 결과 정상적으로 작동합니다. 그래서 그것은 분명히 교차 출처 도메인 문제입니다. 나는 simple-auth가'crossOriginWhiteList' 설정을 읽을 수 없다고 생각한다. –
그것은 나를 위해 일하기 시작했습니다. 이전에 포트 번호도 잘못 정의했습니다. 그래서 그 포트 번호를 제거한 후에는 저에게 잘 작동합니다. –