diff --git a/server/bindata.go b/server/bindata.go index f7ec29faa0facfd4e0befab1e54c277c7edea728..e43c93ad49586ab8b611b7ec201b0c6ac911eb97 100644 --- a/server/bindata.go +++ b/server/bindata.go @@ -125,6 +125,7 @@ var _staticCssSigninCss = []byte(`body { /* logout page */ .logout-status { font-weight: bold; + display: none; } .logout-status-ok { background-color: green; @@ -146,7 +147,7 @@ func staticCssSigninCss() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "static/css/signin.css", size: 992, mode: os.FileMode(436), modTime: time.Unix(1518958548, 0)} + info := bindataFileInfo{name: "static/css/signin.css", size: 1009, mode: os.FileMode(436), modTime: time.Unix(1518963930, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -211,11 +212,11 @@ idlogout.logout_service = function(idx, service) { withCredentials: true }, success: function() { - $('#status_'+idx).class('logout-status-ok').text('OK'); + $('#status_'+idx).addClass('logout-status-ok').text('OK'); console.log('successful logout for ' + service.name); }, error: function() { - $('#status_'+idx).class('logout-status-error').text('ERROR'); + $('#status_'+idx).addClass('logout-status-error').text('ERROR'); console.log('error logging out of ' + service.name); } }); @@ -229,6 +230,7 @@ idlogout.logout = function() { }; $(function() { + $('.logout-status').show(); idlogout.logout(); }); `) @@ -243,7 +245,7 @@ func staticJsLogoutJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "static/js/logout.js", size: 1015, mode: os.FileMode(436), modTime: time.Unix(1518963191, 0)} + info := bindataFileInfo{name: "static/js/logout.js", size: 1053, mode: os.FileMode(436), modTime: time.Unix(1518963941, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1265,16 +1267,21 @@ var _templatesLogoutHtml = []byte(`{{template "header" .}} Signing you out from all services... </p> - <ul> - {{range $i, $svc := .Services}} - <li> - <noscript> - <img src="{{$svc.URL}}"> - </noscript> - <div class="logout-status" id="status_{{$i}}">...</div> {{$svc.Name}} - </li> - {{end}} - </ul> + <table><tbody> + {{range $i, $svc := .Services}} + <tr> + <td> + <noscript> + <img src="{{$svc.URL}}"> + </noscript> + <div class="logout-status" id="status_{{$i}}">...</div> + </td> + <td> + {{$svc.Name}} + </td> + </tr> + {{end}} + </tbody></table> <div id="services" data-services="{{.ServicesJSON}}"></div> @@ -1313,7 +1320,7 @@ func templatesLogoutHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "templates/logout.html", size: 1381, mode: os.FileMode(436), modTime: time.Unix(1518963171, 0)} + info := bindataFileInfo{name: "templates/logout.html", size: 1510, mode: os.FileMode(436), modTime: time.Unix(1518963960, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1325,7 +1332,7 @@ var _templatesPageHtml = []byte(`{{define "header"}}<!DOCTYPE html> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> {{if .U2FSignRequest}}<meta name="u2f_request" value="{{json .U2FSignRequest}}">{{end}} <link rel="stylesheet" href="/static/css/bootstrap.min.css" integrity="sha384-/Y6pD6FV/Vv2HJnA6t+vslU6fwYXjCFtcEpHbNJ0lyAFsXTsjBbfaDjzALeQsN6M"> - <link rel="stylesheet" href="/static/css/signin.css" integrity="sha384-Qj/laxKROb+o3N4XlayJF2LOuybTRxjeOP+DEeYYEwQUiVtNjaMdgnPbN5ffI/Ub"> + <link rel="stylesheet" href="/static/css/signin.css" integrity="sha384-9Y3UkAyM3svAuamEoaXIxe+1MqBKJdZtL8S1FZjvE1XqkICDH7DTXNavnFV8Uk2o"> <title>Sign In</title> </head> @@ -1344,7 +1351,7 @@ var _templatesPageHtml = []byte(`{{define "header"}}<!DOCTYPE html> <script type="text/javascript" src="/static/js/u2f.js" integrity="sha384-vd6lytRvVm189G5gr34wlOvN672vVBceTZqV+lTSeec0DBLc0GlWLyKDHc6mrIZS"></script> {{end}} {{if .IncludeLogoutScripts}} - <script type="text/javascript" src="/static/js/logout.js" integrity="sha384-swhUuZtRhByZOwc9Obn/dcrmcTXonO4xFuaIZKU3X8Ge/DSv3b+O4rL0+rjzRiRz"></script> + <script type="text/javascript" src="/static/js/logout.js" integrity="sha384-lFECzouyNyktRdo1mjFpvlIWeKfD3FMASOF5o3AnPqFY1Bmiwpx7qfTSLCmNL8Aj"></script> {{end}} </body> </html> @@ -1361,7 +1368,7 @@ func templatesPageHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "templates/page.html", size: 1686, mode: os.FileMode(436), modTime: time.Unix(1518963201, 0)} + info := bindataFileInfo{name: "templates/page.html", size: 1686, mode: os.FileMode(436), modTime: time.Unix(1518963980, 0)} a := &asset{bytes: bytes, info: info} return a, nil } diff --git a/server/http.go b/server/http.go index b792986ab838f648b7c3d3724f0ab401ecf34ba7..c5df44b20ccf14c71ff53b32682b6cf7f25c3cbb 100644 --- a/server/http.go +++ b/server/http.go @@ -350,7 +350,7 @@ const contentSecurityPolicy = "default-src 'none'; img-src 'self' data:; script- // Slightly looser CSP for the logout page: it needs to load remote // images. -const logoutContentSecurityPolicy = "default-src 'none'; img-src *; script-src 'self'; style-src 'self'; connect-src 'self';" +const logoutContentSecurityPolicy = "default-src 'none'; img-src *; script-src 'self'; style-src 'self'; connect-src *;" func withDynamicHeaders(h http.Handler) http.Handler { return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { diff --git a/server/static/css/signin.css b/server/static/css/signin.css index f949ff7e4850643ae23201677a383f946db35938..ae611c7fae59fa00531d070a8b32f03657bacb8a 100644 --- a/server/static/css/signin.css +++ b/server/static/css/signin.css @@ -44,6 +44,7 @@ body { /* logout page */ .logout-status { font-weight: bold; + display: none; } .logout-status-ok { background-color: green; diff --git a/server/static/js/logout.js b/server/static/js/logout.js index c516f35a40d22bf49b270ec9a7cc2cc64d0d6bf6..78a85ee0407c4cc0846694128fdc8aa397db6aa7 100644 --- a/server/static/js/logout.js +++ b/server/static/js/logout.js @@ -15,11 +15,11 @@ idlogout.logout_service = function(idx, service) { withCredentials: true }, success: function() { - $('#status_'+idx).class('logout-status-ok').text('OK'); + $('#status_'+idx).addClass('logout-status-ok').text('OK'); console.log('successful logout for ' + service.name); }, error: function() { - $('#status_'+idx).class('logout-status-error').text('ERROR'); + $('#status_'+idx).addClass('logout-status-error').text('ERROR'); console.log('error logging out of ' + service.name); } }); @@ -33,5 +33,6 @@ idlogout.logout = function() { }; $(function() { + $('.logout-status').show(); idlogout.logout(); }); diff --git a/server/templates/logout.html b/server/templates/logout.html index a6f12cc7a703a5368938348f28e667002045608f..502358d940ac2e232c706cd7578aeab98e440f9f 100644 --- a/server/templates/logout.html +++ b/server/templates/logout.html @@ -21,16 +21,21 @@ Signing you out from all services... </p> - <ul> - {{range $i, $svc := .Services}} - <li> - <noscript> - <img src="{{$svc.URL}}"> - </noscript> - <div class="logout-status" id="status_{{$i}}">...</div> {{$svc.Name}} - </li> - {{end}} - </ul> + <table><tbody> + {{range $i, $svc := .Services}} + <tr> + <td> + <noscript> + <img src="{{$svc.URL}}"> + </noscript> + <div class="logout-status" id="status_{{$i}}">...</div> + </td> + <td> + {{$svc.Name}} + </td> + </tr> + {{end}} + </tbody></table> <div id="services" data-services="{{.ServicesJSON}}"></div> diff --git a/server/templates/page.html b/server/templates/page.html index 9acab50485c7e656fb2b9f9ce06ad5c837b3c0d2..580dafd7a50ba8c9d2b9e2da2d09b68d0d2d84c3 100644 --- a/server/templates/page.html +++ b/server/templates/page.html @@ -5,7 +5,7 @@ <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> {{if .U2FSignRequest}}<meta name="u2f_request" value="{{json .U2FSignRequest}}">{{end}} <link rel="stylesheet" href="/static/css/bootstrap.min.css" integrity="sha384-/Y6pD6FV/Vv2HJnA6t+vslU6fwYXjCFtcEpHbNJ0lyAFsXTsjBbfaDjzALeQsN6M"> - <link rel="stylesheet" href="/static/css/signin.css" integrity="sha384-Qj/laxKROb+o3N4XlayJF2LOuybTRxjeOP+DEeYYEwQUiVtNjaMdgnPbN5ffI/Ub"> + <link rel="stylesheet" href="/static/css/signin.css" integrity="sha384-9Y3UkAyM3svAuamEoaXIxe+1MqBKJdZtL8S1FZjvE1XqkICDH7DTXNavnFV8Uk2o"> <title>Sign In</title> </head> @@ -24,7 +24,7 @@ <script type="text/javascript" src="/static/js/u2f.js" integrity="sha384-vd6lytRvVm189G5gr34wlOvN672vVBceTZqV+lTSeec0DBLc0GlWLyKDHc6mrIZS"></script> {{end}} {{if .IncludeLogoutScripts}} - <script type="text/javascript" src="/static/js/logout.js" integrity="sha384-swhUuZtRhByZOwc9Obn/dcrmcTXonO4xFuaIZKU3X8Ge/DSv3b+O4rL0+rjzRiRz"></script> + <script type="text/javascript" src="/static/js/logout.js" integrity="sha384-lFECzouyNyktRdo1mjFpvlIWeKfD3FMASOF5o3AnPqFY1Bmiwpx7qfTSLCmNL8Aj"></script> {{end}} </body> </html>