version 1.33, 2018/07/01 00:03:42
|
version 1.35, 2018/11/24 16:19:04
|
Line 69 sub sso_check {
|
Line 69 sub sso_check {
|
$extra_env{'request.sso.reloginserver'} = |
$extra_env{'request.sso.reloginserver'} = |
$data->{'sso.reloginserver'}; |
$data->{'sso.reloginserver'}; |
} |
} |
|
if (($data->{'balancer'}) && ($data->{'server'}) && ($data->{'balcookie'})) { |
|
$extra_env{'request.balancercookie'} = $data->{'server'}.':'.$data->{'balcookie'}; |
|
} |
} |
} |
return \%extra_env; |
return \%extra_env; |
} |
} |
Line 217 sub ip_changed {
|
Line 220 sub ip_changed {
|
} |
} |
} |
} |
} |
} |
|
unless ($hosthere) { |
|
if (($dataref->{'balancer'}) && ($dataref->{'balcookie'})) { |
|
&Apache::lonnet::delbalcookie($dataref->{'balcookie'},$dataref->{'balancer'}); |
|
} |
|
} |
} |
} |
if ($dataref->{'sso.login'}) { |
if ($dataref->{'sso.login'}) { |
$url .= '/adm/roles'; |
$url .= '/adm/roles'; |
Line 258 sub ip_changed {
|
Line 266 sub ip_changed {
|
|
|
sub logout { |
sub logout { |
my ($r,$handle,$data,$lti_env) = @_; |
my ($r,$handle,$data,$lti_env) = @_; |
unlink($handle); |
my $lonidsdir=$r->dir_config('lonIDsDir'); |
if ($env{'user.linkedenv'} ne '') { |
if (unlink("$lonidsdir/$handle.id")) { |
my $lonidsdir=$r->dir_config('lonIDsDir'); |
if (($env{'user.linkedenv'} =~ /^[a-f0-9]+_linked$/) && |
if ((-l $env{'user.linkedenv'}) && |
(-l "$lonidsdir/$env{'user.linkedenv'}.id") && |
(readlink($env{'user.linkedenv'}) eq "$lonidsdir/$handle.id")) { |
(readlink("$lonidsdir/$env{'user.linkedenv'}.id") eq "$lonidsdir/$handle.id")) { |
unlink($env{'user.linkedenv'}); |
unlink("$lonidsdir/$env{'user.linkedenv'}.id"); |
} |
} |
} |
} |
my %temp=('logout' => time); |
my %temp=('logout' => time); |
Line 275 sub logout {
|
Line 283 sub logout {
|
|
|
&Apache::loncommon::content_type($r,'text/html'); |
&Apache::loncommon::content_type($r,'text/html'); |
|
|
#expire the cookie |
#expire the cookies |
my $c = new CGI::Cookie(-name => 'lonID', |
my %cookies=CGI::Cookie->parse($r->header_in('Cookie')); |
-value => '', |
foreach my $name (keys(%cookies)) { |
-expires => '-10y',); |
next unless ($name =~ /^lon(|S|Link|Pub)ID$/); |
$r->headers_out->add('Set-cookie' => $c); |
my $c = new CGI::Cookie(-name => $name, |
if ($env{'user.linkedenv'}) { |
-value => '', |
my $linked = new CGI::Cookie(-name => 'lonLinkID', |
-expires => '-10y',); |
-value => '', |
$r->headers_out->add('Set-cookie' => $c); |
-expires => '-10y',); |
|
$r->headers_out->add('Set-cookie' => $linked); |
|
} |
} |
my $lonhost = $r->dir_config('lonHostID'); |
|
my (%info,%user_info,%lti_info); |
my (%info,%user_info,%lti_info); |
if (ref($lti_env) eq 'HASH') { |
if (ref($lti_env) eq 'HASH') { |
%lti_info = %{$lti_env}; |
%lti_info = %{$lti_env}; |