2016-09-02 2 views
0

Ich benutze sidekiq 4.1.4 mit Rails 4.2.6.Wie kann ich die Rails-Warden-Authentifizierung für die Sidekiq-Engine-Route überspringen?

Die Route-Datei hat folgenden Code:

require 'sidekiq/web' 
mount Sidekiq::Web, at: '/sidekiq' 

Wenn ich sidekiq UI durch http://localhost:3000/sidekiq zugreifen, es zeigt Fehler:

{ 
    "errors": [ 
     "Unauthorized Request" 
    ] 
} 

ich warden Authentifizierung und die initializer Datei diesen Code bin mit hat :

Rails.application.config.middleware.insert_after ActionDispatch::ParamsParser, Warden::Manager do |manager| 
    manager.default_strategies :authentication_token 
    manager.failure_app = UnauthenticatedController 
end 

Antwort

0

Ich konnte sidekiq beizugreifenmit diesen Änderungen:

einen Initialisierer mit folgendem Code erstellen:

class MountedAppAuth 
    def initialize(app) 
    @app = app 
    end 

    def call(env) 
    @app.call(env) 
    end 
end 

In routes.rb:

require 'sidekiq/web' 
Sidekiq::Web.use MountedAppAuth 
mount Sidekiq::Web, at: '/sidekiq' 
Verwandte Themen