Ruby on rails rails api通过标头进行身份验证';代币

Ruby on rails rails api通过标头进行身份验证';代币,ruby-on-rails,authentication,rails-api,Ruby On Rails,Authentication,Rails Api,我想使用rails apigem special来创建只使用api的应用程序。为了提供身份验证机制,我希望使用内置的authenticate\u或\u request\u以及中描述的\u http\u token方法,但此处缺少此方法 有没有人有过使用rails api的经验 顺便说一下,我可以看到,但这部作品准备好了吗?来自: 基本、摘要和令牌身份验证:Rails提供了对三种HTTP身份验证的现成支持 所以,是的,这是生产准备就绪(毕竟还是Rails)。您链接到的示例是The way to g

我想使用rails apigem special来创建只使用api的应用程序。为了提供身份验证机制,我希望使用内置的authenticate\u或\u request\u以及中描述的\u http\u token方法,但此处缺少此方法

有没有人有过使用rails api的经验

顺便说一下,我可以看到,但这部作品准备好了吗?

来自:

基本、摘要和令牌身份验证:Rails提供了对三种HTTP身份验证的现成支持


所以,是的,这是生产准备就绪(毕竟还是Rails)。您链接到的示例是The way to go(诀窍是只包含您需要的Action Pack内容)。

我正在使用rails api开发服务。我们还没有部署,但已经接近部署时间,测试中也没有任何问题。您需要包括任何您想要使用的非必要模块,因为RailsAPI是经过裁剪的。我正在ApplicationController中使用带\u http\u令牌的authenticate\u或\u request\u,如下所示:

include ActionController::HttpAuthentication::Token::ControllerMethods

def authenticate
  authenticate_or_request_with_http_token do |token, options|
    apiKey = ApiKey.where(auth_token: token).first
    @current_user = apiKey.user if apiKey
  end
end 
如果您只是想要令牌,有一个方便的方法令牌和选项:

include ActionController::HttpAuthentication::Token

def current_user
  api_key = ApiKey.where(auth_token: token_and_options(request)).first
  User.find(api_key.user_id) if api_key
end

你说基于文档,它已经可以生产了,你有在生产中使用它的经验吗?它是Rails,Rails已经可以生产了。您只是包含单个模块,而不是加载整个模块。您没有抓住要点,我对Rails有很好的经验,并决定使用Rails本身来构建API。Rails api还不成熟(我们应该深入研究Rails并选择合适的模块),但我期待以后使用它,因为我们已经在生产中使用了一段时间,而且非常出色。所以从您的角度来看,rails api涵盖了构建api所需的一切?我唯一需要的东西是它没有的HttpAuthentication模块,它非常容易包含。是的,它几乎无所不包。缓存策略呢?它能支持你所需要的一切吗?我帮不了你对不起。我们的发行版#1面向少数内部用户。优化将随时间而来。我一直在寻找简单的单行查询,但还没有付诸实践。有没有办法让经过身份验证的用户参与到操作中?