fix(challonge): request OAuth scopes needed for tournament reads

This commit is contained in:
Pandipipas
2026-02-17 18:44:18 +01:00
parent c718f43eba
commit 9b789d2c61
2 changed files with 11 additions and 1 deletions
+1 -1
View File
@@ -506,7 +506,7 @@ const loadChallongeRecentTournaments = async () => {
hasValidatedChallongeToken.value = false;
const message = error instanceof Error ? error.message : 'Could not load tournaments.';
challongeTournamentsError.value = message.includes('401')
? 'Challonge rejected the token (401 Unauthorized). Verify OAuth callback/client credentials or paste a valid personal API token.'
? 'Challonge rejected the token (401 Unauthorized). Re-connect OAuth so it grants scopes (me, tournaments:read, participants:read) or paste a valid personal API token.'
: message;
challongeRecentTournaments.value = [];
} finally {
+10
View File
@@ -5,6 +5,15 @@ import { nodecg } from './util/nodecg.js';
const CHALLONGE_API_BASE = 'https://api.challonge.com/v2.1';
const CHALLONGE_OAUTH_AUTHORIZE_ENDPOINT = 'https://api.challonge.com/oauth/authorize';
const CHALLONGE_OAUTH_TOKEN_ENDPOINT = 'https://api.challonge.com/oauth/token';
const CHALLONGE_OAUTH_SCOPES = [
'me',
'tournaments:read',
'tournaments:write',
'matches:read',
'matches:write',
'participants:read',
'participants:write',
].join(' ');
const CHALLONGE_OAUTH_CALLBACK_PATH = '/challonge/callback';
const CHALLONGE_OAUTH_DEFAULT_PORT = 34921;
const CHALLONGE_OAUTH_SESSION_TTL_MS = 10 * 60 * 1000;
@@ -448,6 +457,7 @@ nodecg.listenFor('challonge:createOAuthSession', async (_payload: unknown, ack)
response_type: 'code',
client_id: oauthConfig.clientId,
redirect_uri: getCallbackUrl(oauthConfig.callbackPort),
scope: CHALLONGE_OAUTH_SCOPES,
state,
});