class Cerberus::Basic
Public Class Methods
new(app)
click to toggle source
# File lib/cerberus/basic.rb, line 5 def initialize(app) @app = app end
Public Instance Methods
call(env)
click to toggle source
# File lib/cerberus/basic.rb, line 9 def call(env) if Cerberus.config.basic.enabled.call(env) auth = Rack::Auth::Basic.new(@app) do |username, password| username_digest = Cerberus.config.basic.username_digest password_digest = Cerberus.config.basic.password_digest eql?(username, username_digest) & eql?(password, password_digest) end auth.call(env) else @app.call(env) end end
Private Instance Methods
eql?(value, comparable)
click to toggle source
# File lib/cerberus/basic.rb, line 26 def eql?(value, comparable) Rack::Utils.secure_compare(::Digest::SHA256.hexdigest(value), comparable) end