hawk / commit
Fix token refreshing: store correct value as refresh key, and pick up a new refresh key on refresh.
public/signin.js | 37 +++++++++++++++++-------------------- 1 file changed, 17 insertions(+), 20 deletions(-) diff --git a/public/signin.js b/public/signin.js index c36d78f..d3c1dcd 100644 --- a/public/signin.js +++ b/public/signin.js @@ -69,7 +69,7 @@ async function getToken(code) { const data = await response.json(); const expiresInSeconds = data.expires_in; localStorage.setItem('access_token', data.access_token); - localStorage.setItem('refresh_token', data.access_token); + localStorage.setItem('refresh_token', data.refresh_token); localStorage.setItem('expires_at', Date.now() + expiresInSeconds * 1000); } catch (error) { console.error('Error:', error); @@ -133,24 +133,21 @@ async function refreshToken() { client_id: clientId }); - try { - const response = await fetch('https://accounts.spotify.com/api/token', { - method: 'POST', - headers: { - 'Content-Type': 'application/x-www-form-urlencoded' - }, - body: body - }); - if (!response.ok) { - console.error('HTTP status ' + response.status); - throw new Error('HTTP status ' + response.status); - } - const data = await response.json(); - const expiresInSeconds = data.expires_in; - localStorage.setItem('access_token', data.access_token); - localStorage.setItem('expires_at', Date.now() + expiresInSeconds * 1000); - return data.access_token; - } catch (error) { - console.error('Error:', error); + const response = await fetch('https://accounts.spotify.com/api/token', { + method: 'POST', + headers: { + 'Content-Type': 'application/x-www-form-urlencoded' + }, + body: body, + }); + if (!response.ok) { + console.error('HTTP status ' + response.status); + throw new Error('HTTP status ' + response.status); } + const data = await response.json(); + const expiresInSeconds = data.expires_in; + localStorage.setItem('access_token', data.access_token); + localStorage.setItem('refresh_token', data.refresh_token); + localStorage.setItem('expires_at', Date.now() + expiresInSeconds * 1000); + return data.access_token; } \ No newline at end of file