2
我正在實現一個自定義授權者和身份驗證器,以使用ember-simple-auth
庫執行HMAC令牌簽名,並且每個作品單獨運行良好,但一起破解。如何選擇性地禁用ember-simple-auth授權人?
如果我禁用授權者,認證者可以啓動會話就好了,一旦有現有會話,授權者就會正確授權所有對api的請求,但是當兩者都在玩時,授權者會破壞初始登錄請求。
有沒有辦法跳過授權人的身份驗證請求,或者也許暫時禁用ajaxPrefilter
修改請求?還是有更好的方法來解決這個問題?
認證:
var CustomAuthenticator = Base.extend({
authenticate: function(credentials) {
var data = {
user: {
email: credentials.identification,
password: credentials.password
}
};
return Ember.$.post(MyApplicationENV.API_URL + '/users/login', data).then(function(response, statusText, xhr) {
if (xhr.status === 201) {
return response;
}
}).fail(function() {
console.warn('login FAILED!');
});
},...
授權:
var CustomAuthorizer = Base.extend({
authorize: function(jqXHR, requestOptions) {
var timestamp = parseInt((new Date().getTime()/1000), 10);
var hashedToken = window.md5(timestamp + ':' + this.get('session.authentication_token'));
var data = 'user_token=' + hashedToken;
data += '&user_email=' + this.get('session.email');
data += '×tamp=' + timestamp;
requestOptions.data = data;
}
});