У меня есть 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?