Show
Ignore:
Timestamp:
07/14/08 18:19:06 (4 months ago)
Author:
fujiwara
Message:

per_dir_config で設定がグローバルにならない版
debug log 追加

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • lang/perl/Apache2-AuthenOpenID/branches/per_dir_config/lib/Apache2/AuthenOpenID.pm

    r11424 r15796  
    6060sub return_to { 
    6161    my ($self, $params, $arg) = @_; 
    62     my $class = ref $self; 
    63     my $i = Apache2::Module::get_config($class, $params->server); 
    64     $i->{'return_to'} = $arg; 
     62    $self->{'return_to'} = $arg; 
    6563} 
    6664 
    6765sub trust_root { 
    6866    my ($self, $params, $arg) = @_; 
    69     my $class = ref $self; 
    70     my $i = Apache2::Module::get_config($class, $params->server); 
    71     $i->{'trust_root'} = $arg; 
     67    $self->{'trust_root'} = $arg; 
    7268} 
    7369 
    7470sub consumer_secret { 
    7571    my ($self, $params, $arg) = @_; 
    76     my $class = ref $self; 
    77     my $i = Apache2::Module::get_config($class, $params->server); 
    78     $i->{'consumer_secret'} = $arg; 
     72    $self->{'consumer_secret'} = $arg; 
    7973} 
    8074 
     
    8276    my ($self, $r) = @_; 
    8377    lc $r->auth_type eq lc $self->auth_type or return Apache2::Const::DECLINED; 
    84     my $cf = Apache2::Module::get_config($self, $r->server); 
     78 
     79    my $cf = Apache2::Module::get_config($self, $r->server, $r->per_dir_config); 
     80    $r->log->debug( 
     81       sprintf "tr=%s rt=%s cs=%s", $cf->{'trust_root'}, $cf->{'return_to'}, $cf->{'consumer_secret'} 
     82    ); 
    8583    unless ($cf->{'trust_root'} && $cf->{'return_to'} && $cf->{'consumer_secret'}) { 
    8684        $r->log_error("You need to specify trust_root, return_to, and consumer_secret."); 
     
    110108    ); 
    111109    if ($request_url eq $cf->{'return_to'}) { 
     110        $r->log->debug("$request_url is return_to"); 
    112111        if (my $identity = $q->param('identity')) { 
    113112            my $claimed_identity = $csr->claimed_identity($identity) 
     
    117116                trust_root => $cf->{'trust_root'}, 
    118117            ); 
     118            $r->log->debug("clamed_identity=$claimed_identity  check_url=$check_url"); 
    119119            $r->err_headers_out->set(Location => $check_url); 
    120120            return Apache2::Const::REDIRECT; 
    121121        } elsif (my $setup_url = $csr->user_setup_url) { 
     122            $r->log->debug("setup_url=$setup_url"); 
    122123            $r->err_headers_out->set(Location => $setup_url); 
    123124            return Apache2::Const::REDIRECT; 
    124125        } elsif ($csr->user_cancel) { 
     126            $r->log->debug("user_canceled."); 
    125127            return Apache2::Const::HTTP_UNAUTHORIZED; 
    126128        } elsif (my $vident = $csr->verified_identity) { 
     129            $r->log->debug('verified_identity'); 
    127130            my $url = $vident->url; 
    128131            $url =~ s{(^https?://|/$)}{}g; 
     
    136139            if (%cookie_in && (my $dest = $cookie_in{$cookie_dest_name})) { 
    137140                $r->headers_out->set('Location' => $dest->value); 
     141                $r->log->debug('return to cookie_dest='. $dest->value); 
    138142            } else { 
    139143                $r->headers_out->set('Location' => $cf->{'trust_root'}); 
     144                $r->log->debug('redirect to trust_root'); 
    140145            } 
    141146            my $cookie_dest_erase = CGI::Cookie->new( 
     
    148153            return Apache2::Const::REDIRECT; 
    149154        } 
     155 
     156        $r->log_error("Error validating identity: " . $csr->err); 
    150157        return Apache2::Const::HTTP_UNAUTHORIZED; 
    151158    } 
     
    170177sub set_custom_response { 
    171178    my ($self, $r) = @_; 
    172     my $cf = Apache2::Module::get_config($self, $r->server); 
     179    my $cf = Apache2::Module::get_config($self, $r->server, $r->per_dir_config); 
    173180    my $auth_name = $r->auth_name; 
    174181    my $html = <<END;