我正在为具有嵌入式Web界面的C程序创建一个前端,该界面具有简单的REST API。我想使用ember-simple-auth和客户身份验证器以及与该api端点通信的授权器。
var Authenticator = AuthenticatorBase.extend({
restore: function(data) {
...
},
authenticate: function(credentials) {
var _this = this;
return new Ember.RSVP.Promise(function(resolve, reject) {
... ??? ...
});
},
invalidate: function() {
var _this = this;
return new Ember.RSVP.Promise(function(resolve) {
... ??? ...
});
},
});
在ember-simple-auth示例中,我看到使用Ember。$。ajax的自定义身份验证器实现,就像这样发布到服务器:
authenticate: function(credentials) {
var _this = this;
return new Ember.RSVP.Promise(function(resolve, reject) {
Ember.$.ajax({
url: _this.tokenEndpoint,
type: 'POST',
data: { username: credentials.identification,
password: credentials.password },
}).then(function(response) {
Ember.run(function() {
resolve({ token: response.session.token });
});
}, function(xhr, status, error) {
var response = JSON.parse(xhr.responseText);
Ember.run(function() {
reject(response.error);
});
});
});
},
但我宁愿使用ember-data(我认为) - ember和ember-data的新东西,所以还不清楚。假设我的API端点是/ session,我的验证方法与ember-data有什么用?
相关说明:我正在使用ember-cli并运行ember服务器进行开发。如何告诉ember-data指向基于C的服务器进行REST调用?我正在尝试这个,但似乎没有影响到余烬数据调用 - 他们只是去了ember服务器:
// app/adapters/application.js
import DS from "ember-data";
export default DS.RESTAdapter.extend({
host: 'localhost:48880',
namespace: '/'
});
答案 0 :(得分:0)
当您想要使用Ember数据时,您需要拥有一个Session
模型,以便在创建实例时触发POST
到/sessions
。我实际上并不认为这是有意义的,在这种情况下你并没有真正从使用Ember Data中获得任何好处 - 我建议只使用普通Ember.$.ajax
并使用Ember Data作为实际模型数据