Module: ASF::Auth
- Defined in:
- lib/whimsy/asf/rack.rb
Defined Under Namespace
Classes: Committers, MembersAndOfficers
Constant Summary collapse
- DIRECTORS =
{ 'curcuru' => 'sc', 'bdelacretaz' => 'bd', 'isabel' => 'id', 'marvin' => 'mh', 'jim' => 'jj', 'mattmann' => 'cm', 'brett' => 'bp', 'gstein' => 'gs', 'markt' => 'mt' }
Class Method Summary collapse
-
.decode(env) ⇒ Object
decode HTTP authorization, when present.
Class Method Details
.decode(env) ⇒ Object
decode HTTP authorization, when present
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
# File 'lib/whimsy/asf/rack.rb', line 21 def self.decode(env) class << env; attr_accessor :user, :password; end auth = env['HTTP_AUTHORIZATION'] || ENV['HTTP_AUTHORIZATION'] if auth.to_s.empty? env.user = env['REMOTE_USER'] || ENV['USER'] || Etc.getpwuid.name else require 'base64' env.user, env.password = Base64. decode64(auth[/^Basic ([A-Za-z0-9+\/=]+)$/,1].to_s).split(':',2) end env['REMOTE_USER'] ||= env.user ASF::Person.new(env.user) end |