我目前正在使用ember cli 0.1.3
作为前端,rails 4.1.8
作为后端。我使用ember-simple-auth
对用户进行身份验证,然后我按https://github.com/givanse/ember-cli-simple-auth-devise进行了设置。
它在本地运行良好,但使用ember server --proxy http://0.0.0.0:3000
,但我似乎无法为生产环境设置代理。
我在Heroku上托管了ember和rails应用程序。我发现有一个用于Ember CLI的代理生成器,因此我使用了ember g http-proxy users http://"url"
这创建了servers/proxies/http:/url.js
:
var proxyPath = '/users';
module.exports = function(app) {
// For options, see:
// https://github.com/nodejitsu/node-http-proxy
var proxy = require('http-proxy').createProxyServer({});
var path = require('path');
app.use(proxyPath, function(req, res, next){
// include root path in proxied request
req.url = path.join(proxyPath, req.url);
proxy.web(req, res, { target: 'http://url' });
});
};
现在一旦推到heroku,xhr request
仍指向Ember主持人。
答案 0 :(得分:1)
好吧事实证明我认为太复杂了我所要做的就是将整个网址添加到端点。
配置/ environment.js
ENV['simple-auth-devise'] = {
serverTokenEndpoint: 'http://url/users/sign_in',
crossOriginWhitelist: ['http://url/']
};