Newer
Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"/>
<title th:text="#{screen.logout.header}">Propagate Logout View</title>
<link rel="stylesheet" th:href="@{#{webjars.fontawesomemin.css}}"/>
<link type="text/css" rel="stylesheet" th:href="@{#{webjars.bootstrapmin.css}}"/>
<link type="text/css" rel="stylesheet" th:href="@{#{webjars.latomin.css}}"/>
<link rel="stylesheet" th:href="@{/css/cas.css}"/>
<link rel="icon" th:href="@{/images/favicon.ico}" type="image/x-icon"/>
<script type="text/javascript" th:src="@{#{webjars.zxcvbn.js}}"></script>
<script type="text/javascript" th:src="@{#{webjars.jquerymin.js}}"></script>
<script type="text/javascript" th:src="@{#{webjars.jqueryui.js}}"></script>
<script type="text/javascript" th:src="@{#{webjars.jquerycookie.js}}"></script>
<script src="//www.google.com/recaptcha/api.js" async defer th:if="${recaptchaSiteKey}"></script>
<script th:src="@{#{webjars.bootstrapmin.js}}"></script>
<script th:inline="javascript">
/*<![CDATA[*/
function redirectToApp() {
window.location = encodeURI([[${logoutRedirectUrl}]]) ;
}
function handleCallback(index, status) {
}
/**
For Surrogation purposes, do not show logout page information.
Redirect straight to service.
*/
function handleDisplay() {
var _this = this;
var logoutRedirectUrl = [[${logoutRedirectUrl}]];
if(logoutRedirectUrl && logoutRedirectUrl.indexOf('username=') > 0) {
window.setTimeout(function(){
_this.redirectToApp();
}, 200);
}
else {
$('body')[0].style.display = '';
}
}
/*]]>*/
</script>
</head>
<body style='display: none'>
<div class="login">
</div>
<div class="login-box step-email">
<header>
<img class="vitam-logo" th:src="@{/images/vitam-logo.png}">
<h1><img th:src="@{/images/vitamui-logo-large.png}"></h1>
</header>
<div>
<h2 th:utext="#{screen.logout.header}">Logout successful</h2>
<p th:utext="#{screen.logout.fc.success}">You have successfully logged out of the Central Authentication
Service. Given single logout is enabled with CAS, \
the following list of applications are <strong> only notified</strong> to log you out and destroy your
user session. Remember that this \
is just a notification, not a guarantee. It is up the application itself to honor these notifications
and properly take action to log you \
out.</p>
<p th:utext="#{screen.logout.security}">For security reasons, exit your web browser.</p>
<button type="button" th:if="${logoutRedirectUrl}" class="vitamui-primary" name="submit" accesskey="l" onclick="redirectToApp();">[[${'Go to ' + logoutRedirectUrl}]]</button>
</div>
</div>
<div>
<ol start="a">
<li th:each="entry,iterStat : ${logoutUrls}">
<script type="text/javascript" th:inline="javascript">
/*<![CDATA[*/
$.ajax({
url: [[${entry.key.logoutUrl.toExternalForm()}]],
dataType: 'jsonp',
async: true,
contentType: [[${entry.value.contentType}]]
, data: [[${entry.value.message}]]
, success: function (data) {
var index = [[${iterStat.index}]];
handleCallback(index, 200);
},
error: function (err, textStatus, errorThrown) {
var index = [[${iterStat.index}]];
handleCallback(index, err.status);
}
});
handleDisplay();
/*]]>*/
</script>
<!--
<p>
<i data-toggle="tooltip" data-placement="top" class="fa fa-question" th:id="${'service'+iterStat.index}" title="Logout request pending..."> </i>
<kbd th:text="${entry.key.service.id}"/>
</p>
-->
</li>
</ol>
</div>
</body>
</html>