2013-02-10 109 views
1

我期待设置一个rails-api应用程序,并希望能够在整个请求中访问用户。Rails-api HTTP令牌认证

我读过HTTP标记身份验证几乎是要走到这里的方式,将标记传递给每个请求的标头。

有什么让我有点难住的是我如何获取用户的每一个请求。我应该编写中间件来设置它,还是有一个已经做了这种生命周期的gem?

回答

1

您可以将一列添加到用户表并将此列用作标记。然后在你的控制器,你可以添加以下代码,以获取用户(假设你使用http_token作为列名)

authenticate_or_request_with_http_token do |token, options| 
    @current_user = User.find_by_http_token(token) 
end 
+0

有什么原因,我可能想在一个较低的水平(架)做这做尝试让用户通过助手设置? – 2013-02-10 05:36:34

+1

对不起,我不确定你在中间件中做了什么优点。你应该在你的应用程序控制器中进行设置。 – jvnill 2013-02-10 12:59:22