Добавить пользовательский заголовок ответа с Rack-Cors и Grape

Я разрабатываю приложение Ionic(Cordova) с API Ruby on Rails. Я хочу использовать заголовки ответа для возврата токена после входа в систему. я использую rack-cors драгоценный камень, чтобы заставить Cross Origin Request работать:

application.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

и grape gem для управления моими маршрутами API. Но я не могу найти способ добавить заголовок к моему ответу, так как я добавил rack-cors,

Я попробовал это:

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

Но это не работает. Что бы я ни делал, я получаю эти заголовки:

{cache-control: "max-age = 0, private, must-revalidate", тип контента: "application/json"}

Кто-нибудь может мне помочь с этим вопросом?

1 ответ

Решение

Я использовал 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
Другие вопросы по тегам