Я использую Ember: 2.11.0, уголек-простую-авторизацию: 1.2.0Ember-простая аутентификация предотвращение сеанса недействительности на 401 réponse
Я использую уголек-простого-авторизацию для проверки подлинности моего приложения с помощью oauth2 в мой REST API.
Стандартное поведение ember-simple-auth - аннулировать сеанс пользователей, если сервер отвечает кодом состояния 401. Я хочу, чтобы справиться с этим разным и попытаться переопределить:
import DS from 'ember-data';
import DataAdapterMixin from 'ember-simple-auth/mixins/data-adapter-mixin';
export default DS.RESTAdapter.extend(DataAdapterMixin, {
host: 'http://localhost:3000',
authorizer: 'authorizer:oauth2',
/*
* The DataAdapterMixin invalidetes the session automatically if the server
* returns the status 401. We don't want this behaviour, so we override
* the handleResponse method.
*/
handleResponse(status) {
console.log(status);
return this._super(...arguments);
}
});
В моей RestAdapter Пользуется DataAdapterMixin который вызывает недействительность в рамках метода handleResponse. Итак, я попытался переопределить этот метод в своем адаптере. Мой метод вызывается, но после того, как мой метод закончил, метод Примеси вызываются угольком, как вы можете увидеть здесь:
В Комментариях для состояния метода Ember superWrapper, что это сделано для обработки вызовов в методы суперкласса и перенаправить их к нему, но каким-то образом он перенаправляет его на mixin.
Я понятия не имею, почему это происходит. Вероятно, это можно было бы исправить, отредактировав DataAdapterMixin напрямую, но подумайте, что это не будет хорошей идеей с точки зрения совместимости с будущими версиями ember-simple-auth.
Я был бы очень признателен, если бы кто-то мог указать мне вправо чтобы сделать переопределение работы.
На самом деле с 'this._super (... arguments);' вы вызываете mixin 'handleRresponse' –