mirror-chatterino2/resources/auth.html
2021-07-24 13:36:06 +02:00

56 lines
1.9 KiB
HTML

<html>
<head>
<title>Login - Chatterino</title>
</head>
<body>
<noscript>
<p>noscript stuffs here</p>
</noscript>
<p id="status">Loading...</p>
<script>
(function() {
// Address of local Chatterino's http server
const address = "localhost";
const port = 52107;
// Retrieve hash with token and hide it immidiatelly
const fragment = location.hash.substring(1);
history.replaceState(null, null, " ");
// Find token in the hash
const token = new URLSearchParams(fragment).get("access_token");
let status = document.getElementById("status");
// Return if no token was found
if (!token) {
status.innerHTML = "Bad request";
return;
}
// Call Chatterino's http server
status.innerHTML = "Sending your credentials to Chatterino...";
fetch(`http://${address}:${port}/token`, {
method: "PUT",
headers: {
"X-Access-Token": token
}
}).then(resp => {
// Failure
if (resp.status !== 200) {
status.innerHTML = `Chatterino refused your credentials, error ${resp.status}`;
return;
}
// Success
status.innerHTML = "Chatterino added your account successfully!<br>You can close this tab now.";
}).catch(err => {
// Unexpected the unexpectable
console.log(err);
status.innerHTML = "Something went wrong, check console for details";
});
})();
</script>
</body>
</html>