smapsso.html 3.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. <!DOCTYPE html>
  2. <html lang="zh-CN">
  3. <head>
  4. <meta http-equiv="X-UA-Compatible" content="IE=edge" />
  5. <meta charset="UTF-8">
  6. <title>登录中...</title>
  7. <script src="../o2_core/o2.min.js"></script>
  8. <script src="js/sso.min.js"></script>
  9. <script>
  10. o2.addReady(function(){
  11. o2.JSON.get("res/config/config.json", function(config){
  12. getServiceAddress(config, function(){
  13. var locate = window.location;
  14. var protocol = locate.protocol;
  15. var addressObj = layout.serviceAddressList["x_organization_assemble_authentication"];
  16. var address = protocol+"//"+addressObj.host+(addressObj.port==80 ? "" : ":"+addressObj.port)+"/z_sso_control/jaxrs/sso/smplogin";
  17. var uri = new URI(window.location.toString());
  18. var xtoken = uri.getData("SMAP_SESSION_DATA");
  19. var appID = uri.getData("appID");
  20. var uniqueId = uri.getData("uniqueId");
  21. var flushPortalUrl = uri.getData("flushPortalUrl") || "";
  22. if( flushPortalUrl && flushPortalUrl.indexOf("%2F") === -1 ){
  23. flushPortalUrl = encodeURIComponent(flushPortalUrl);
  24. }
  25. var redirect = uri.getData("redirect");
  26. redirect = redirect + "&uniqueId=" + uniqueId + "&flushPortalUrl="+flushPortalUrl;
  27. if (xtoken){
  28. var res = new Request.JSON({
  29. url: o2.filterUrl(address+"?SMAP_SESSION_DATA="+encodeURIComponent(xtoken)+"&appID="+appID+"&date="+(new Date()).getTime()),
  30. secure: false,
  31. method: "GET",
  32. noCache: true,
  33. withCredentials: true,
  34. onSuccess: function(responseJSON, responseText){
  35. var result = responseJSON.data.value;
  36. if(result){
  37. if (redirect){
  38. window.location = redirect;
  39. }else{
  40. window.location = "/";
  41. }
  42. }else{
  43. $("ssoerror").set("html","单点失败!"+responseJSON.message);
  44. $("ssoerror").show();
  45. }
  46. }.bind(this),
  47. onFailure: function(xhr){
  48. $("ssoerror").show();
  49. }.bind(this),
  50. onError: function(text, error){
  51. $("ssoerror").show();
  52. }.bind(this)
  53. });
  54. res.send();
  55. }else{
  56. $("ssoerror").set("html","单点失败,认证token为空!");
  57. $("ssoerror").show();
  58. }
  59. });
  60. });
  61. });
  62. </script>
  63. </head>
  64. <body style="background: rgb(239, 239, 244);">
  65. <div id="ssoerror" style="text-align:center;display:none;">单点失败,请联系管理员!</div>
  66. </body>
  67. </html>