使用Knock使用Rails API进行Auth0

时间:2017-10-27 04:31:54

标签: ruby-on-rails ruby jwt auth0 rails-api

使用this教程我已经能够使用knock设置我的Rails API,但是当我提供JWT时,身份验证似乎无法正常工作。

这是我的Knock.rb

Knock.setup do |config|

  config.token_audience = -> { Rails.application.secrets.auth0_client_id }
  config.token_secret_signature_key = -> { Rails.application.secrets.auth0_client_secret }

end

User.rb:

class User < ApplicationRecord
  has_secure_password

  def self.from_token_payload payload
    payload['sub']
  end
end

projects_controller.rb:

class ProjectsController < ApplicationController
  before_action :set_project, only: [:show, :update, :destroy]
  before_action :authenticate_user

  # GET /projects
  def index
      @projects = Project.all

      json_response(@projects)
  end

...

end

我收到了JWT的https://my-auth0-site.auth0.com/oauth/token

的POST请求

邮递员: enter image description here

2 个答案:

答案 0 :(得分:1)

您必须将Bearer添加到令牌。请看下面的图片

enter image description here

答案 1 :(得分:0)

我遇到了同样的问题而无法使其正常工作。最后,我改为官方Auth0文档推荐的方法。这很简单,也很完美。

https://auth0.com/docs/quickstart/backend/rails/01-authorization

希望它有所帮助。