使用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
的POST请求
答案 0 :(得分:1)
答案 1 :(得分:0)
我遇到了同样的问题而无法使其正常工作。最后,我改为官方Auth0文档推荐的方法。这很简单,也很完美。
https://auth0.com/docs/quickstart/backend/rails/01-authorization
希望它有所帮助。