ember cli simple auth devise最新版本0.8.0-beta.1

时间:2015-04-17 13:10:28

标签: ember.js ember-cli ember-simple-auth

我正在尝试在我的应用程序中设置ember cli简单的auth设计,实际上我发现了许多示例和类似的问题,但仍然无法解决我要打了很多小时的问题,这是插件0.8的最后一个版本.0-beta.1,身份验证工作正常,但当我尝试在令牌授权下访问页面时,令牌不会在标头中发送: enter image description here

我想的是导致这个问题的是配置文件中的设计授权,我在文档中描述了它:

ENV['simple-auth'] = {
    authorizer: 'simple-auth-authorizer:devise'
}

我在repo中有完整的代码,如果你能提供反馈,我们将非常感激!!!

2015年4月20日更新:

ENV['simple-auth'] = {
    authorizer: 'simple-auth-authorizer:devise',
    crossOriginWhitelist: ['*']
}

# config/application.rb 
# rack-cors configuration in the server side 
config.middleware.insert_before 0, "Rack::Cors" do
  allow do
    origins "*"
    resource "*",
      :headers => :any,
      :methods => [:get, :post, :delete, :put, :options, :head],
      :credentials => true
  end
end

结果: enter image description here enter image description here

2 个答案:

答案 0 :(得分:2)

当您的API在不同的主机/端口上运行时,您需要配置Ember Simple Auth的crossOriginWhitelist并列出API的来源,以便Ember Simple Auth注入{{1标头。这是一项安全措施,可确保Auth令牌不会随着Internet上的每个请求一起发送。

答案 1 :(得分:0)

为了防止有人遇到同样的问题,因为我正在与apache乘客一起工作,我找到了两个我正在处理的实际项目的apache配置文件,这就是为什么起源被发送了两次。如果您正在使用乘客我建议忘记机架并在apache中配置它,我发现它很干净。

# add these lines in your apache config file into VirtualHost (or Directory must also work) 
Header set Access-Control-Allow-Origin "*"
Header set Access-Control-Allow-Methods: "*"
Header set Access-Control-Allow-Headers: "*"
Header set access-control-allow-credentials: true

希望这有帮助。