We hebben hier een webapp waarvoor gebruikers in moeten loggen om er gebruik van te kunnen maken. Default gebruikt de webapp FORM based authenticaten in combinatie met JAAS om in te kunnen loggen op de Tomcat webapp en alles werkt prima.
Een klant van ons heeft het verzoek gedaan om een soort van single sign on mogelijk te maken voor onze web app dat via de URL werkt. Dus dan krijg je zoiets:
https://server:8443/login?user=<foo>&password=<bar>
Op zich prima en redelijk secure en zij kunnen in hun web portal gewoon een serie links opbouwen welke direct inlogt op onze applicatie.
Gewoon een kwestie van basic authentication en https instellen in tomcat en een javascript schrijven die onder water een http request maakt naar onze server om in te loggen en dan naar de start pagina redirect. (zoals hier wordt gedaan, maar dan een klein beetje anders)
Alles werkt prima en mijn baas is weer happy.
Nu komt de klant (terecht) met de klacht dat hij niet meer uit kan loggen. En dat klopt ook wel, want basic authentication heeft een paar quirks waar ik nog niet van op de hoogte was, namelijk:
Dit maakt dus eigenlijk basic authentication onwerkbaar
Ik vroeg me dus af hoe dit probleem opgelost kan worden. Er zullen vast wel mensen hier rondlopen die een SSO oplossing voor hun Tomcat webapp hebben gemaakt.
Een klant van ons heeft het verzoek gedaan om een soort van single sign on mogelijk te maken voor onze web app dat via de URL werkt. Dus dan krijg je zoiets:
https://server:8443/login?user=<foo>&password=<bar>
Op zich prima en redelijk secure en zij kunnen in hun web portal gewoon een serie links opbouwen welke direct inlogt op onze applicatie.
Gewoon een kwestie van basic authentication en https instellen in tomcat en een javascript schrijven die onder water een http request maakt naar onze server om in te loggen en dan naar de start pagina redirect. (zoals hier wordt gedaan, maar dan een klein beetje anders)
Alles werkt prima en mijn baas is weer happy.
Nu komt de klant (terecht) met de klacht dat hij niet meer uit kan loggen. En dat klopt ook wel, want basic authentication heeft een paar quirks waar ik nog niet van op de hoogte was, namelijk:
bronAnother important problem with basic authentication as currently implemented is that there is no way for a user to log off without exiting the browser. Suppose you have been accessing a site requiring authentication through your web browser. Even if you have moved on to a different site, your web browser still has your login and password cached. So if you leave the computer and someone else tries to access that site, that person will get on right away, without being asked for a login and password. On most operating systems another person wouldn't easily be able to see your password, but as long as your browser is running they could continue to use it.
Neither Netscape nor Internet Explorer offers the user any way to flush authentications out of memory short of exiting the browser. Many web sites suggest to users that they should "exit all browser windows" after they are finished to make sure they are logged off. Even users who remember to do this may fail to notice all windows, including minimized and iconified ones.
Dit maakt dus eigenlijk basic authentication onwerkbaar
Ik vroeg me dus af hoe dit probleem opgelost kan worden. Er zullen vast wel mensen hier rondlopen die een SSO oplossing voor hun Tomcat webapp hebben gemaakt.
The ships hung in the sky in much the same way that bricks don’t.