【发布时间】:2014-12-18 16:31:25
【问题描述】:
我正在为具有嵌入式 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-data 调用 - 它们只是转到 ember 服务器:
// app/adapters/application.js
import DS from "ember-data";
export default DS.RESTAdapter.extend({
host: 'localhost:48880',
namespace: '/'
});
【问题讨论】:
-
您使用
DS.Adapter(REST 或 JSON 等)emberjs.com/api/data/classes/DS.Adapter.html“告诉”ember-data 在哪里执行 API 调用,就像在您的 sn-p 中一样,为什么不工作?您遇到了什么错误?
标签: ember.js ember-data ember-cli