3-Round-Stones / callimachus

Callimachus is a highly scalable platform for creating and running data-driven websites
Other
95 stars 24 forks source link

Logout behaviour different on Internet Explorer and Edge #238

Closed edwardsph closed 8 years ago

edwardsph commented 8 years ago

Testing Callimachus 1.5beta in Windows 10 there is a behaviour difference when clicking sign-out (using calli:logout-href in the template). On Chrome and Firefox the button changes to show you are signed out, then the browser location changes to the home page. In IE11 and Edge the button changes but the location doesn't change. There is nothing on the console to highlight any error. This is problematic because you may be seeing some restricted data when you log out and going to the home page resets state in a suitable way.

edwardsph commented 8 years ago

I just tested a patch to this which works for IE/Edge but then fails for Firefox. The 2 options alternatives I tried were:

Original - works in Firefox/Chrome but not IE11/Edge

<a onclick="calli.logout('http://example.org/').then(location.assign.bind(location,'example.org/')).then(undefined, calli.loading(event.target));return false" 
    href="http://example.org/">Sign out</a>

The issue is that the page doesn't redirect to the home page

Alternate - works in IE11/Edge but not Firefox/Chrome

<a onclick="calli.logout('http://example.org/').then(location.assign('http://example.org/')).then(undefined, calli.loading(event.target));return false"
    href="http://example.org/"  
    class="btn btn-default navbar-btn">Sign out<span class="glyphicon glyphicon-log-out"></span></a>

The issue is that although the page redirects the user appears to still be logged in.