diff --git a/static_src/SugoiAuthProvider2.ts b/static_src/SugoiAuthProvider2.ts index 6d2d53d..c5df29b 100644 --- a/static_src/SugoiAuthProvider2.ts +++ b/static_src/SugoiAuthProvider2.ts @@ -2,7 +2,8 @@ import type { AccessTokenMaybeWithUserId, AccessTokenWithUserId, AuthProvider } import type { UserIdResolvable } from "@twurple/api" import * as TwitchAuth from "./TwitchAuth"; -async function ensureUserId(token: TwitchAuth.TwitchToken): Promise { +async function ensureUserId(token: TwitchAuth.TwitchToken | null): Promise { + if (!token) return null if (!token.user_id) { const refresh_token = token.refresh_token token = await TwitchAuth.validateToken(token.access_token) @@ -26,8 +27,7 @@ export class SugoiAuthProvider implements AuthProvider { constructor(clientId:string,proxyOrigin?:string) { this.clientId = clientId; if (proxyOrigin) TwitchAuth.setProxyOrigin(proxyOrigin); - this.#token = TwitchAuth.getUserTokenPassive(clientId) - if(!this.#token) this.#token=ensureUserId(this.#token) + this.#token = TwitchAuth.getUserTokenPassive(clientId).then(ensureUserId) } #authorize(scopes: string[]) { const promise = TwitchAuth.requestAuthCode(this.clientId, ...scopes)