This repository has been archived on 2024-06-21. You can view files and clone it, but cannot push or open issues or pull requests.
hectabit-oauth2/templates/main.html

77 lines
2.1 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Sending data...</title>
</head>
<body>
<p>Sending data...</p>
<script>
if (localStorage.getItem("DONOTSHARE-secretkey") !== null) {
window.location.replace("/app" + window.location.search)
document.body.innerHTML = "Redirecting..."
throw new Error();
}
function oauth() {
const urlParams = new URLSearchParams(window.location.search);
// Get URL parameters
if (urlParams.has('client_id')) {
var client_id = urlParams.get('client_id');
var redirect_uri = urlParams.get('redirect_uri');
var response_type = urlParams.get('response_type');
} else {
window.location.replace("/dashboard");
}
if (urlParams.has('state')) {
var state = urlParams.get('state');
}
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
var secret_key = localStorage.getItem("DONOTSHARE-secretkey");
// Create data object to send
var data = {
appId: client_id,
secretKey: secret_key,
code: code,
codemethod: codemethod
};
// Send data to example.org using POST request
fetch("https://auth.hectabit.org/api/auth", {
method: "POST",
headers: {
"Content-Type": "application/json"
},
body: JSON.stringify(data)
})
.then(response => {
async function doStuff() {
let code = await response.text()
console.log(code)
window.location.replace(redirect_uri + "?code=" + code + "&state=" + state)
}
doStuff()
})
.catch(error => {
alert("Error sending data: " + error.message);
});
}
oauth()
</script>
</body>
</html>