0

我正在使用 Ruby on Rails API 开发 Ionic(Cordova) 应用程序。我想在登录后使用响应标头返回一个令牌。我正在使用rack-corsgem 使 Cross Origin Request 工作:

应用程序.rb

config.middleware.insert_after Rails::Rack::Logger, Rack::Cors, :logger => Rails.logger do
      allow do
        origins '*'
        resource '/api/*', :headers => :any, :methods => [:get, :post, :options, :put]
      end
    end

和葡萄宝石来管理我的 API 路线。但是自从我添加了rack-cors.

我试过这个:

header('Access-Token', user.token.key)

但它不起作用。无论我做什么,我都会得到这些标题:

{缓存控制:“max-age=0,私有,必须重新验证”,内容类型:“应用程序/json”}

谁能帮我解决这个问题?

4

1 回答 1

3

我用了gem 'devise_token_auth'

另外,我在 application.rb 中有这个配置。

  class Application < Rails::Application
    # Do not swallow errors in after_commit/after_rollback callbacks.
    config.active_record.raise_in_transactional_callbacks = true

    config.middleware.use Rack::Cors do
      allow do
        origins '*'
        resource '*',
          :headers => :any,
          :expose  => ['access-token', 'expiry', 'token-type', 'uid', 'client'],
          :methods => [:get, :post, :options, :delete, :put]
      end
    end

  end
于 2016-04-04T15:59:12.677 回答