Module: ASF::Auth
- Defined in:
- lib/whimsy/asf/rack.rb
Defined Under Namespace
Classes: Committers, MembersAndOfficers
Constant Summary collapse
- DIRECTORS =
{ 'rbowen' => 'rb', 'curcuru' => 'sc', 'bdelacretaz' => 'bd', 'jim' => 'jj', 'mattmann' => 'cm', 'ke4qqq' => 'dn', 'brett' => 'bp', 'rubys' => 'sr', 'gstein' => 'gs' }
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 |