--- loncom/auth/lonacc.pm 2014/06/17 23:22:10 1.157 +++ loncom/auth/lonacc.pm 2014/10/04 02:59:32 1.158 @@ -1,7 +1,7 @@ # The LearningOnline Network # Cookie Based Access Handler # -# $Id: lonacc.pm,v 1.157 2014/06/17 23:22:10 raeburn Exp $ +# $Id: lonacc.pm,v 1.158 2014/10/04 02:59:32 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -307,7 +307,10 @@ sub sso_login { my %sessiondata; if ($form{'iptoken'}) { %sessiondata = &Apache::lonnet::tmpget($form{'iptoken'}); - my $delete = &Apache::lonnet::tmpdel($form{'token'}); + my $delete = &Apache::lonnet::tmpdel($form{'iptoken'}); + unless ($sessiondata{'sessionserver'}) { + delete($form{'iptoken'}); + } } my $domain = $r->dir_config('lonSSOUserDomain'); @@ -319,8 +322,8 @@ sub sso_login { &Apache::lonnet::logthis(" SSO authorized user $user "); my ($is_balancer,$otherserver,$hosthere); if ($form{'iptoken'}) { - if (($sessiondata{'domain'} eq $form{'udom'}) && - ($sessiondata{'username'} eq $form{'uname'})) { + if (($sessiondata{'domain'} eq $domain) && + ($sessiondata{'username'} eq $user)) { $hosthere = 1; } } @@ -361,7 +364,7 @@ sub sso_login { 'server' => $r->dir_config('lonHostID'), 'sso.login' => 1 ); - foreach my $item ('role','symb') { + foreach my $item ('role','symb','iptoken') { if (exists($form{$item})) { $info{$item} = $form{$item}; }