uauth.js 861 B

12345678910111213141516171819202122232425262728
  1. var uauth = {};
  2. uauth.url = "https://binbashbanana.github.io/webretro/uauth/"; // Must have cross-domain support!!!
  3. uauth.origins = ["http://localhost:8000", "https://binbashbanana.github.io"];
  4. uauth.frame = document.createElement("iframe");
  5. uauth.frame.style.display = "none";
  6. uauth.pickerOpen = false;
  7. uauth.callback = function(data) {}
  8. uauth.open = function(type, exts, callback) {
  9. if (!uauth.pickerOpen) {
  10. uauth.pickerOpen = true;
  11. uauth.callback = callback;
  12. uauth.frame.src = uauth.url + "?type=" + type + "&exts=" + exts.join(",");
  13. document.body.appendChild(uauth.frame);
  14. }
  15. }
  16. window.addEventListener("message", function(e) {
  17. if (uauth.origins.includes(e.origin) && e.data.webretro) {
  18. uauth.pickerOpen = false;
  19. uauth.frame.removeAttribute("src");
  20. document.body.removeChild(uauth.frame);
  21. uauth.callback(e.data.webretro);
  22. }
  23. }, false);