2

我正在尝试将 devise_token_auth 与 jsonapi-resources 一起使用。我已经将它设置在可以创建用户和登录的位置,但我无法弄清楚如何访问需要首先对用户进行身份验证的控制器。这是我试图要求身份验证的控制器:

class FriendsController < JSONAPI::ResourceController
  include DeviseTokenAuth::Concerns::SetUserByToken
  before_action :authenticate_user!
end

当我尝试时localhost:3000/friends,我得到一个 401“仅限授权用户”。错误,所以我认为它有效。我认为我的主要问题是我不确定如何处理登录时获得的访问令牌。我尝试在请求的标题中设置它,但仍然得到相同的“仅限授权用户”错误。

4

2 回答 2

2

迟到的答案总比没有好... devise_token_auth 和 jsonapi_resources 在测试设置中对我来说工作得很好。但是,您需要正确设置请求标头。传输“auth-token”标头是不够的,您还要传输“client”token、“uid”和“token-type”标头。虽然我不完全确定后者是否真的需要。

于 2016-07-26T14:57:01.333 回答
0

设计令牌身份验证完全独立于jsonapi-resources. 如果您可以使令牌身份验证正常工作(如本答案中所述,例如:Custom devise api token auth),您可以简单地扩展您的控制器(或您的 ApplicationController)与身份验证问题,它应该像普通的 Rails 控制器一样工作。

于 2016-03-11T05:30:19.130 回答