From 6bc5e67cbc8c5efc56dbfc9fd8f366e83a673630 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zachary=20Gu=C3=A9not?= Date: Thu, 11 May 2023 00:51:59 +0200 Subject: [PATCH] =?UTF-8?q?Panel=20termin=C3=A9=20+=20Refresh=20token=20au?= =?UTF-8?q?to?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app.js | 6 ++---- utils/checkChannel.js | 10 ++++++---- utils/checkUser.js | 10 ++++++---- utils/refreshToken.js | 2 +- 4 files changed, 15 insertions(+), 13 deletions(-) diff --git a/app.js b/app.js index a26e8c1..0a028d0 100644 --- a/app.js +++ b/app.js @@ -22,10 +22,8 @@ const writeEnv = require('./utils/writeEnv') let client_id = process.env.TWITCH_APP_ID let client_secret = process.env.TWITCH_APP_SECRET -let user_access_token = process.env.TWITCH_USER_ACCESS_TOKEN let user_name = process.env.TWITCH_USER_USERNAME -let channel_access_token = process.env.TWITCH_CHANNEL_ACCESS_TOKEN let channel_name = process.env.TWITCH_CHANNEL_USERNAME let channel_reward_name = process.env.TWITCH_CHANNEL_REWARD_NAME @@ -109,7 +107,7 @@ clientChatBot.on('connect', async connection => { console.log('Twitch ChatBot WebSocket Connected !') // Check if the user access token is still valid - //[user_access_token, user_name] = await checkUser(user_access_token) + let [user_access_token, user_name] = await checkUser(process.env.TWITCH_USER_ACCESS_TOKEN) // Authenticate to Twitch IRC and join channel connection.sendUTF('CAP REQ :twitch.tv/commands twitch.tv/membership twitch.tv/tags') @@ -158,7 +156,7 @@ const clientEventSub = new WebSocketClient().on('connect', async connection => { console.log('Twitch EventSub WebSocket Connected !') // Check if the channel access token is still valid - //[channel_access_token, channel_name] = await checkChannel(channel_access_token) + let [channel_access_token, channel_name] = await checkChannel(process.env.TWITCH_CHANNEL_ACCESS_TOKEN) connection.on('message', async message => { if (message.type === 'utf8') { diff --git a/utils/checkChannel.js b/utils/checkChannel.js index f0eaeae..8a11825 100644 --- a/utils/checkChannel.js +++ b/utils/checkChannel.js @@ -7,14 +7,16 @@ const writeEnv = require('./writeEnv') let client_id = process.env.TWITCH_APP_ID let client_secret = process.env.TWITCH_APP_SECRET -module.exports = async function (channel_access_token) { - let channel_refresh_token = '' +module.exports = async function (access_token) { // Check if channel_access_token is valid - if (!await validateToken(channel_access_token)) { + if (!await validateToken(access_token)) { // If not, refresh it - [channel_access_token, channel_refresh_token] = await refreshToken(client_id, client_secret, channel_access_token) + let result = await refreshToken(client_id, client_secret, access_token) + if (result.status) return `Can't refresh channel_access_token: ${result.message}` + + let [channel_access_token, channel_refresh_token] = result writeEnv('TWITCH_CHANNEL_ACCESS_TOKEN', channel_access_token) writeEnv('TWITCH_CHANNEL_REFRESH_TOKEN', channel_refresh_token) diff --git a/utils/checkUser.js b/utils/checkUser.js index 8eaeb34..79a13ff 100644 --- a/utils/checkUser.js +++ b/utils/checkUser.js @@ -7,14 +7,16 @@ const writeEnv = require('./writeEnv') let client_id = process.env.TWITCH_APP_ID let client_secret = process.env.TWITCH_APP_SECRET -module.exports = async function (user_access_token) { - let user_refresh_token = '' +module.exports = async function (access_token) { // Check if user_access_token is valid - if (!await validateToken(user_access_token)) { + if (!await validateToken(access_token)) { // If not, refresh it - [user_access_token, user_refresh_token ] = await refreshToken(client_id, client_secret, user_access_token) + let result = await refreshToken(client_id, client_secret, access_token) + if (result.status) return `Can't refresh user_access_token: ${result.message}` + + let [user_access_token, user_refresh_token] = result writeEnv('TWITCH_USER_ACCESS_TOKEN', user_access_token) writeEnv('TWITCH_USER_REFRESH_TOKEN', user_refresh_token) diff --git a/utils/refreshToken.js b/utils/refreshToken.js index 3305da4..920d45d 100644 --- a/utils/refreshToken.js +++ b/utils/refreshToken.js @@ -9,5 +9,5 @@ module.exports = async function (client_id, client_secret, refresh_token) { }).then(response => { //console.log(response.data) if (response.data.token_type === 'bearer') return [response.data.access_token, response.data.refresh_token] - }).catch(error => { console.log(error.response.data) }) + }).catch(error => { return error.response.data }) } \ No newline at end of file