lemonldap-ng/lemonldap-ng-portal/site/htdocs/static/common/js/oidcchecksession.js

40 lines
1.1 KiB
JavaScript
Raw Normal View History

2019-08-15 22:29:06 +02:00
// Generated by CoffeeScript 1.12.7
2017-01-19 12:33:11 +01:00
(function() {
var values;
values = {};
$(document).ready(function() {
$("script[type='application/init']").each(function() {
2018-07-26 21:01:39 +02:00
var e, k, results, tmp;
2017-01-19 12:33:11 +01:00
try {
2017-01-19 13:13:36 +01:00
tmp = JSON.parse($(this).text());
2017-01-19 12:33:11 +01:00
results = [];
for (k in tmp) {
2018-11-04 22:32:38 +01:00
results.push(values[k] = tmp[k]);
2017-01-19 12:33:11 +01:00
}
return results;
} catch (error) {
e = error;
return console.log('Parsing error', e);
}
});
2018-07-27 21:43:23 +02:00
return window.addEventListener("message", function(e) {
2018-11-07 21:28:40 +01:00
var client_id, message, salt, session_state, ss, stat;
2018-07-26 21:01:39 +02:00
message = e.data;
2018-10-27 21:23:58 +02:00
console.log('message=', message);
2018-07-26 21:01:39 +02:00
client_id = decodeURIComponent(message.split(' ')[0]);
session_state = decodeURIComponent(message.split(' ')[1]);
salt = decodeURIComponent(session_state.split('.')[1]);
2018-11-07 21:28:40 +01:00
ss = btoa(client_id + ' ' + e.origin + ' ' + salt) + '.' + salt;
2018-07-26 21:01:39 +02:00
if (session_state === ss) {
stat = 'unchanged';
} else {
stat = 'changed';
}
2018-07-28 07:28:30 +02:00
return e.source.postMessage(stat, e.origin);
}, false);
2017-01-19 12:33:11 +01:00
});
}).call(this);