我正在添加功能,以允许用户拒绝未过期的oauth令牌。(我正在使用ember-simple-auth-oauth2和自定义oauth2实现)。
我想通知使用拒绝令牌的客户端其令牌已被手动拒绝。
来自服务器的401响应包含令牌不再有效的原因({消息:“令牌已由ip 1.1.1.1过期”})。
会话或应用程序混合中的invalidationSucceeded回调或事件似乎都没有将401请求传递给此信息。
有没有一种方法可以访问重定向之前返回401的请求的主体?
您可以自定义适配器并覆盖ajaxError方法。以下是示例:
import DS from 'ember-data';
export default DS.RESTAdapter.extend({
host: url,
ajaxError: function(jqXHR) {
var error = this._super(jqXHR);
if (jqXHR && jqXHR.status === 401) {
var jsonErrors = Ember.$.parseJSON(jqXHR.responseText)["errors"];
return new DS.InvalidError(jsonErrors);
} else {
return error;
}
}
});
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句