1
0
mirror of https://github.com/keeweb/keeweb.git synced 2024-06-29 08:00:53 +02:00
keeweb/app/scripts/comp/auth-receiver.js

30 lines
774 B
JavaScript
Raw Normal View History

2016-03-27 13:54:35 +02:00
'use strict';
var DropboxLink = require('./dropbox-link');
var AuthReceiver = {
receive: function() {
var opener = window.opener || window.parent;
if (location.href.indexOf('state=') >= 0) {
DropboxLink.receive();
} else {
2016-03-27 16:47:29 +02:00
var message = this.urlArgsToMessage(window.location.href);
2016-03-27 13:54:35 +02:00
opener.postMessage(message, window.location.origin);
2016-03-27 18:03:58 +02:00
window.close();
2016-03-27 13:54:35 +02:00
}
2016-03-27 16:47:29 +02:00
},
urlArgsToMessage: function(url) {
var message = {};
2016-07-17 13:30:38 +02:00
url.split(/[\?#&]/g).forEach(part => {
2016-03-27 16:47:29 +02:00
var parts = part.split('=');
if (parts.length === 2) {
message[parts[0]] = parts[1];
}
});
return message;
2016-03-27 13:54:35 +02:00
}
};
module.exports = AuthReceiver;