token refreshed notification

This commit is contained in:
Fisheiyy 2022-02-11 01:26:56 -06:00
parent 17763841f2
commit 8c4ed42f4f
2 changed files with 39 additions and 15 deletions

12
app.js
View File

@ -11,7 +11,7 @@ app.set('view engine', 'ejs')
app.get('/', async (req, res) => {
if (req.headers.cookie == undefined) {
console.log('No Cookies Found')
res.render('index.html', { signedIn: false, json: {} })
res.render('index.html', { signedIn: false, tokenRefreshed: 'false', json: {} })
}
if (req.headers.cookie !== undefined) {
console.log('Cookies Found')
@ -31,7 +31,13 @@ app.get('/', async (req, res) => {
var bearer_token = req.headers.cookie.split('bearer_token=')[1].split(';')[0]
var data = await fetch(`https://discord.com/api/users/@me`, {headers: { Authorization: `Bearer ${bearer_token}` } }) // Fetching user data
var json = await data.json()
res.render('index.html', { res, json })
if (req.query.tokenrefreshed == 'true') {
console.log('Token Refreshed')
res.render('index.html', { signedIn: true, tokenRefreshed: true, json })
}
else {
res.render('index.html', { signedIn: true, tokenRefreshed: false, json })
}
}
}
})
@ -84,7 +90,7 @@ app.get('/login/refresh', async (req, res) => {
res.cookie("bearer_token", json.access_token, { maxAge: json.expires_in * 1000 })
res.cookie("refresh_token", json.refresh_token)
console.log('New Bearer and Refresh tokens set')
res.redirect('/') // Redirecting to main page
res.redirect('/?tokenrefreshed=true') // Redirecting to main page
})
app.get('/logout', (req, res) => {

View File

@ -1,21 +1,39 @@
<button onclick="window.location.replace(`/login/refresh`)">Refresh Token</button>
<button onclick="window.location.replace(`/login`">Login</button>
<button onclick="window.location.replace(`/logout`)">Logout</button>
<div id="refreshedTokenNotification">
<h1>Your token was successfully refreshed!</h1>
</div>
<div id="signedIn">
<h1>Hello, <%= json.username %> #<%= json.discriminator %></h1>
<img src="https://cdn.discordapp.com/avatars/<%= json.id %>/<%= json.avatar %>?size=512">
</div>
<div id="signedOut">
<h1>You are not signed in, please click the Login button above</h1>
<h1>You are not signed in, please click the Login button below</h1>
</div>
<div id="refreshTokenButton">
<button onclick= "window.location.replace(`/login/refresh`)" >Refresh Token</button>
</div>
<div id="loginButton">
<button onclick= "window.location.replace(`/login`)" >Login</button>
</div>
<div id="logoutButton">
<button onclick= "window.location.replace(`/logout`)" >Logout</button>
</div>
<script>
var signedIn = <%= JSON.stringify(signedIn) %>;
console.log(signedIn);
if (signedIn === false) {
document.getElementById("signedIn").hidden = true;
document.getElementById("signedOut").hidden = false;
} else {
document.getElementById("signedIn").hidden = false;
document.getElementById("signedOut").hidden = true;
var signedIn = <%= signedIn %>
var tokenRefreshed = <%= tokenRefreshed %>
if (signedIn == false) {
document.getElementById("signedIn").hidden = true
document.getElementById("signedOut").hidden = false
document.getElementById("logoutButton").hidden = true
document.getElementById("refreshTokenButton").hidden = true
document.getElementById("refreshedTokenNotification").hidden = true
}
if (tokenRefreshed == true) {
document.getElementById("refreshedTokenNotification").hidden = false
document.getElementById("signedOut").hidden = true
}
if (signedIn == true) {
document.getElementById("loginButton").hidden = true
document.getElementById("signedOut").hidden = true
document.getElementById("refreshedTokenNotification").hidden = true
}
</script>