我正在尝试将devise_token_auth与jsonapi-resources一起使用。我已经设置了可以创建用户并登录的位置,但我无法弄清楚如何访问需要首先验证用户的控制器。这是我的控制器,我试图要求身份验证:
class FriendsController < JSONAPI::ResourceController
include DeviseTokenAuth::Concerns::SetUserByToken
before_action :authenticate_user!
end
当我尝试localhost:3000/friends
时,我只获得了401&#34;授权用户。&#34;错误,所以我觉得它有效。我认为我的主要问题是我不知道如何处理我登录时获得的访问令牌。我已经尝试在我的请求中将其设置在标题中,但仍然得到相同的&#34;仅限授权用户&#34 ;错误。
答案 0 :(得分:2)
比没有更好的答案更晚... devise_token_auth和jsonapi_resources在测试设置中对我很有效。但是,您需要正确设置请求标头。仅传输“auth-token”标头是不够的,您还可以发送“客户端”令牌,“uid”和“令牌类型”标头。虽然我不确定后者是否真的需要。
答案 1 :(得分:0)
设计令牌身份验证完全独立于jsonapi-resources
。如果您可以使令牌认证工作(如本答案中所述,例如:Custom devise api token auth),您可以简单地扩展您的控制器(或您的ApplicationController),并且它应该像普通的Rails控制器一样。< / p>