Files
the-jailor/wwwroot/core/tiktok/tiktokTokenManager.js
2025-11-09 10:23:23 +01:00

38 lines
1.3 KiB
JavaScript

import {BaseTokenManager} from "../base/baseTokenManager.js";
import {Requester} from "../utils/requester.js";
export class TikTokTokenManager extends BaseTokenManager {
constructor({filepath, clientKey, clientSecret}) {
super(filepath);
this.clientKey = clientKey;
this.clientSecret = clientSecret;
}
async renew() {
let url = `https://www.tiktok.com/v2/auth/authorize?client_key=${this.clientKey}&response_type=code&scope=user.info.basic,video.list&redirect_uri=https://the-jailor.naaturel.be/oauth&state=SOME_RANDOM_STRING`
let response = await Requester.doGetRequest(url);
let userCode = response.code; //Might not be correct, please update
url = "https://open.tiktokapis.com/v2/oauth/token/";
let headers = {
"Content-Type": "application/x-www-form-urlencoded",
"Cache-Control": "no-cache"
}
let params = {
"client_key": this.clientKey,
"client_secret": this.clientSecret,
"code": userCode,
"grant_type": "authorization_code",
"redirect_uri": "https://the-jailor.naaturel.be/oauth"
}
let data = await Requester.doPostRequest(url, headers, params);
let userId = data.open_id;
let token = data.access_token;
//Update token registry
}
}