【发布时间】:2021-03-22 20:41:42
【问题描述】:
我有一个 Rails 6.0.3.5 API,我没有使用 Devise 进行身份验证。 当我尝试访问 sidekiq UI 时,它会喊:
Sidekiq::Web needs a valid Rack session for CSRF protection. If this is a Rails app, make sure you mount Sidekiq::Web *inside* your application routes: Rails.application.routes.draw do mount Sidekiq::Web => "/sidekiq" .... end
但实际上我的路线是这样的:
Rails.application.routes.draw do
mount Sidekiq::Web => '/sidekiq'
namespace :api do
namespace :v1 do
...
end
end
end
我已经使用config/initializers/sidekiq.rb 中的用户/密码保护了路由:
require 'sidekiq'
require 'sidekiq/web'
Sidekiq::Web.use(Rack::Auth::Basic) do |user, password|
Rack::Utils.secure_compare(::Digest::SHA256.hexdigest(user), ::Digest::SHA256.hexdigest(ENV["SIDEKIQ_USER"])) &
Rack::Utils.secure_compare(::Digest::SHA256.hexdigest(password), ::Digest::SHA256.hexdigest(ENV["SIDEKIQ_PASSWORD"]))
end
有什么想法吗?
【问题讨论】: