Hi Amila, +1. Nice to have page.
thank you. On Mon, May 26, 2014 at 2:28 PM, Amila Maha Arachchi <ami...@wso2.com>wrote: > Hi AF team, > > At the moment when you click the AF sign-out page, it loads the AF main > template without anything in the middle (no block). > > Following is the code in site/pages/logout.jag > > <% > > include("/jagg/jagg.jag"); > > include("/jagg/constants.jag"); > > var site = require("/site/conf/site.json"); > > > (function () { > > > session.put('application_list',null); > > session.put("last_backend_access_time_for_getting_appList",null); > > session.put('authenticatedCookie',null); > > > jagg.render({ > > "name":"page/base", > > "inputs":{ > > "title":"WSO2 App Factory", > > "pagePath":"/site/pages/logout.jag", > > "body":[ > > { > > "name":"layout/base", > > "inputs":{ > > "title":"Logout", > > "middle":[ > > { > > "name":"logout" > > } > > ] > > } > > } > > ] > > } > > }); > > }()); > > %> > > > What happens from here is, code at > site/themes/default/templates/logout/template.jag > is executed. > > <% jagg.template("logout", function(inputs, outputs, jagg) { %> > > > <% > > include("/jagg/constants.jag"); > > include("/jagg/config_reader.jag"); > > > var security =require("sso"); > > var ssoRelyingParty = new > security.SSORelyingParty(getProperty(SSO_NAME)); > > try{ > > var samlLogoutRequest = > ssoRelyingParty.getSAMLLogoutRequest(session.get("LOGGED_IN_USER"), > session.getId()); > > var encodedRequest = > ssoRelyingParty.encode(samlLogoutRequest); > > var relayState = ssoRelyingParty.getUUID(); > > var idpURL = ssoRelyingParty.getProperty( > "identityProviderURL"); > > } catch (e) { > > response.sendRedirect("/" + getProperty(WEB_CONTEXT_ROOT) > ); > > } > > %> > > > <div> > > <p>You are now redirected to Stratos Identity. If the > > redirection fails, please click the post button.</p> > > > <form method="post" action="<%=idpURL%>"> > > <p> > > <input type="hidden" name="SAMLRequest" > > value="<%= encodedRequest %>"/> > > <input type="hidden" name="RelayState" value="<%=relayState%>"/> > > <button type="submit">POST</button> > > </p> > > </form> > > </div> > > <script type = "text/javascript" > > > document.forms[0].submit(); > > </script> > > > <% }); %> > > > > > This behaviour loads and ugly page at the time of sign-out. But we can fix > it by adding the code in site/themes/default/templates/logout/template.jag > to site/pages/logout.jag. It will create a nice SSO flow when a user signs > out. > > site/pages/logout.jag will look like following with this change. > > > <% > > include("/jagg/jagg.jag"); > > include("/jagg/constants.jag"); > > var site = require("/site/conf/site.json"); > > > include("/jagg/constants.jag"); > > include("/jagg/config_reader.jag"); > > > var security =require("sso"); > > var ssoRelyingParty = new > security.SSORelyingParty(getProperty(SSO_NAME)); > > try{ > > var samlLogoutRequest = > ssoRelyingParty.getSAMLLogoutRequest(session.get("LOGGED_IN_USER"), > session.getId()); > > var encodedRequest = > ssoRelyingParty.encode(samlLogoutRequest); > > var relayState = ssoRelyingParty.getUUID(); > > var idpURL = > ssoRelyingParty.getProperty("identityProviderURL"); > > } catch (e) { > > response.sendRedirect("/" + getProperty(WEB_CONTEXT_ROOT)); > > } > > > %> > > > <div> > > <p>You are now redirected to Stratos Identity. If the > > redirection fails, please click the post button.</p> > > > <form method="post" action="<%=idpURL%>"> > > <p> > > <input type="hidden" name="SAMLRequest" > > value="<%= encodedRequest %>"/> > > <input type="hidden" name="RelayState" value="<%=relayState%>"/> > > <button type="submit">POST</button> > > </p> > > </form> > > </div> > > <script type = "text/javascript" > > > document.forms[0].submit(); > > </script> > > > Shall we make this change to logout.jag ? I have tested this in my setup > and there is no affect to the functionality/ I got Chanaka's advice when > fixing this redirection flow. > > Regards, > AmilaM. > -- > *Amila Maharachchi* > Senior Technical Lead > WSO2, Inc.; http://wso2.com > > Blog: http://maharachchi.blogspot.com > Mobile: +94719371446 > > -- Manjula Rathnayaka Software Engineer WSO2, Inc. Mobile:+94 77 743 1987
_______________________________________________ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev