@@ -182,21 +182,20 @@ public function logout(Request $request, Response $response): Response
182182 Debug::logRequest ('logout() ' , $ request );
183183 UserHelper::logout ($ this ->container );
184184
185- //FIXME: for both isLoggedIn and user_id, we can rely on login object stored in session
186- $ this ->session ->user_id = null ;
187- $ this ->session ->isLoggedIn = 'no ' ;
188- $ client_id = $ this ->session ->request_args ['client_id ' ];
189- $ this ->session ->request_args = [];
185+ unset(
186+ $ this ->session ->user_id ,
187+ $ this ->session ->isLoggedIn ,
188+ $ this ->session ->request_args
189+ );
190+ session_destroy ();
190191
191- //By default : client_id.redirect_logout else '/'
192- $ redirect_logout = '/ ' ;
193- if ($ client_id ) {
192+ $ redirect_logout = $ this ->routeparser ->urlFor ('slash ' );
193+ if ($ client_id = $ this ->session ->request_args ['client_id ' ] ?? null ) {
194194 $ redirect_logout = $ this ->config ->get ("{$ client_id }.redirect_logout " , $ redirect_logout );
195+ Debug::log ("logout():url_logout for client:' {$ client_id }' = ' {$ redirect_logout }' " );
195196 }
196197
197- Debug::log ("logout():url_logout for client:' {$ client_id }' = ' {$ redirect_logout }' " );
198-
199- //Add an url redirection in config.yml : $client_id: redirect_logout:"https:\\xxx");
198+ //Add an url redirection in config.yml: $client_id: redirect_logout:"https:\\xxx");
200199 return $ response ->withHeader ('Location ' , $ redirect_logout )->withStatus (302 );
201200 }
202201
0 commit comments