2024-04-18 16:35:53 +01:00
|
|
|
<html>
|
|
|
|
<head>
|
2024-04-18 16:36:12 +01:00
|
|
|
<title>Authorize application</title>
|
2024-04-18 16:31:23 +01:00
|
|
|
<meta charset="UTF-8">
|
|
|
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
|
|
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
|
|
|
|
<link rel="stylesheet" type="text/css" href="../static/css/style.css" media="">
|
|
|
|
<script src="../static/js/hash-wasm.js"></script>
|
|
|
|
<link rel="icon" href="../static/svg/favicon.svg">
|
|
|
|
<script>
|
2024-04-18 16:35:53 +01:00
|
|
|
var client_id, redirect_uri, response_type, state, code, codemethod, secret_key, expires;
|
|
|
|
|
|
|
|
if (window.location.href.endsWith('/index.html')) {
|
|
|
|
if (window.location.origin !== null) {
|
|
|
|
var currentUrl = window.location.href;
|
|
|
|
var newUrl = currentUrl.replace('/index.html', '');
|
|
|
|
window.location.href = newUrl;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
if (localStorage.getItem("DONOTSHARE-secretkey") === null) {
|
|
|
|
window.location.replace("/login" + window.location.search)
|
|
|
|
document.body.innerHTML = "Redirecting..."
|
|
|
|
throw new Error();
|
|
|
|
}
|
|
|
|
|
|
|
|
document.addEventListener("DOMContentLoaded", function() {
|
|
|
|
const urlParams = new URLSearchParams(window.location.search);
|
|
|
|
var statusBox = document.getElementById("statusBox");
|
|
|
|
|
|
|
|
// Get URL parameters
|
|
|
|
if (urlParams.has('client_id')) {
|
|
|
|
client_id = urlParams.get('client_id');
|
|
|
|
statusBox.textContent = "Would you like to allow " + client_id + " to access your user information?";
|
|
|
|
redirect_uri = urlParams.get('redirect_uri');
|
|
|
|
response_type = urlParams.get('response_type');
|
|
|
|
} else {
|
|
|
|
window.location.replace("/dashboard");
|
|
|
|
document.body.innerHTML = "Redirecting..."
|
|
|
|
throw new Error();
|
|
|
|
}
|
|
|
|
|
|
|
|
state = urlParams.has('state') ? urlParams.get('state') : "none";
|
|
|
|
|
|
|
|
if (urlParams.has('code_challenge')) {
|
|
|
|
code = urlParams.get('code_challenge');
|
|
|
|
codemethod = urlParams.get('code_challenge_method');
|
|
|
|
} else {
|
|
|
|
code = "none";
|
|
|
|
codemethod = "none";
|
|
|
|
}
|
|
|
|
|
|
|
|
// Get DONOTSHARE-secretkey from localStorage
|
|
|
|
secret_key = localStorage.getItem("DONOTSHARE-secretkey");
|
|
|
|
var now = new Date();
|
|
|
|
var expireTime = now.getTime() + (21 * 1000); // 21 seconds from now
|
|
|
|
expires = new Date(expireTime).toUTCString();
|
|
|
|
});
|
|
|
|
|
|
|
|
function oauth() {
|
|
|
|
document.cookie = "key=" + secret_key + "; expires=" + expires + "; path=/";
|
|
|
|
|
|
|
|
// Send data to example.org using POST request
|
|
|
|
window.location.replace("/api/auth?client_id=" + client_id + "&redirect_uri=" + redirect_uri + "&code_challenge_method=" + codemethod + "&code_challenge=" + code + "&state=" + state);
|
2024-04-18 16:31:23 +01:00
|
|
|
}
|
|
|
|
</script>
|
2024-03-28 17:07:30 +00:00
|
|
|
</head>
|
|
|
|
|
2024-04-18 16:31:23 +01:00
|
|
|
<body>
|
|
|
|
<p class="credit">Image by perga (@pergagreen on discord)</p>
|
|
|
|
<img src="/static/img/background.jpg" class="background">
|
|
|
|
<div class="inoutdiv">
|
|
|
|
<h2 class="w300">Authorise Application</h2>
|
|
|
|
<p id="statusBox">Loading...</p>
|
|
|
|
<br>
|
|
|
|
<div style="display: flex;justify-content: center;">
|
|
|
|
<button onclick="oauth();" style="margin: 0;width: 100%;margin-right: 2.5px;">Allow</button>
|
|
|
|
<button onclick="window.location.replace('https://www.hectabit.org');" style="margin: 0;width: 100%;margin-left: 2.5px;">Deny</button>
|
|
|
|
</div>
|
|
|
|
</div>
|
2024-04-18 16:35:53 +01:00
|
|
|
</body>
|
2024-03-28 17:07:30 +00:00
|
|
|
|
2024-04-18 16:35:53 +01:00
|
|
|
</html>
|