Могу ли я использовать вспомогательные методы контроллера Devise в Grape API? - PullRequest
0 голосов
/ 15 февраля 2019

У меня есть API на основе grape , единственными клиентами которого являются пользователи на основе браузера, которые уже прошли аутентификацию в моем приложении через Devise.Я надеялся, что смогу воспользоваться некоторыми из вспомогательных методов контроллера devise, таких как current_user, а также вернуть 403, если нет текущего аутентифицированного пользователя.Есть ли разумный способ сделать это?

Я наивно пытался просто импортировать вспомогательные методы контроллера:

class API < Grape::API
  prefix 'api'
  format :json

  include Devise::Controllers::Helpers

  get 'hello' do
    # would like to be able to use current_user here
    { result: 'hello' }
  end
end

current_user, а другие вспомогательные методы остаются недоступными и выдают undefined local variable or method 'current_user'.

Есть ли способ воспользоваться преимуществами аутентификации, разработанной ранее здесь, и использовать ее в моих методах grape api?

1 Ответ

0 голосов
/ 11 апреля 2019

Вы пробовали этот драгоценный камень?grape_devise - https://github.com/justinm/grape_devise

У меня было похожее требование использовать вспомогательные методы devise, но я использовал devise_token_auth вместо devise для аутентификации API.Использовал этот самоцвет https://github.com/mcordell/grape_devise_token_auth для помощников разработчиков в конечных точках винограда.

Пожалуйста, поделитесь ответами, если вы уже нашли решение.

...