@@ -2,7 +2,8 @@ import type { AccessTokenMaybeWithUserId, AccessTokenWithUserId, AuthProvider }
|
|||||||
import type { UserIdResolvable } from "@twurple/api"
|
import type { UserIdResolvable } from "@twurple/api"
|
||||||
import * as TwitchAuth from "./TwitchAuth";
|
import * as TwitchAuth from "./TwitchAuth";
|
||||||
|
|
||||||
async function ensureUserId(token: TwitchAuth.TwitchToken): Promise<TwitchAuth.TwitchToken> {
|
async function ensureUserId(token: TwitchAuth.TwitchToken | null): Promise<TwitchAuth.TwitchToken | null> {
|
||||||
|
if (!token) return null
|
||||||
if (!token.user_id) {
|
if (!token.user_id) {
|
||||||
const refresh_token = token.refresh_token
|
const refresh_token = token.refresh_token
|
||||||
token = await TwitchAuth.validateToken(token.access_token)
|
token = await TwitchAuth.validateToken(token.access_token)
|
||||||
@@ -26,8 +27,7 @@ export class SugoiAuthProvider implements AuthProvider {
|
|||||||
constructor(clientId:string,proxyOrigin?:string) {
|
constructor(clientId:string,proxyOrigin?:string) {
|
||||||
this.clientId = clientId;
|
this.clientId = clientId;
|
||||||
if (proxyOrigin) TwitchAuth.setProxyOrigin(proxyOrigin);
|
if (proxyOrigin) TwitchAuth.setProxyOrigin(proxyOrigin);
|
||||||
this.#token = TwitchAuth.getUserTokenPassive(clientId)
|
this.#token = TwitchAuth.getUserTokenPassive(clientId).then(ensureUserId)
|
||||||
if(!this.#token) this.#token=ensureUserId(this.#token)
|
|
||||||
}
|
}
|
||||||
#authorize(scopes: string[]) {
|
#authorize(scopes: string[]) {
|
||||||
const promise = TwitchAuth.requestAuthCode(this.clientId, ...scopes)
|
const promise = TwitchAuth.requestAuthCode(this.clientId, ...scopes)
|
||||||
|
|||||||
Reference in New Issue
Block a user