【问题标题】:Using devise_token_auth with jsonapi-resources将 devise_token_auth 与 jsonapi-resources 一起使用
【发布时间】:2016-02-25 15:00:11
【问题描述】:

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

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

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

【问题讨论】:

    标签: ruby-on-rails devise jsonapi-resources


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-11-23
        • 2016-01-24
        • 1970-01-01
        相关资源
        最近更新 更多