diff options
Diffstat (limited to 'apps/browser-extension/utils/twitter-auth.ts')
| -rw-r--r-- | apps/browser-extension/utils/twitter-auth.ts | 54 |
1 files changed, 27 insertions, 27 deletions
diff --git a/apps/browser-extension/utils/twitter-auth.ts b/apps/browser-extension/utils/twitter-auth.ts index 3dfc50f6..17cbe464 100644 --- a/apps/browser-extension/utils/twitter-auth.ts +++ b/apps/browser-extension/utils/twitter-auth.ts @@ -2,12 +2,12 @@ * Twitter Authentication Module * Handles token capture and storage for Twitter API access */ -import { STORAGE_KEYS } from "./constants" +import { STORAGE_KEYS } from "./constants"; export interface TwitterAuthTokens { - cookie: string - csrf: string - auth: string + cookie: string; + csrf: string; + auth: string; } /** @@ -17,41 +17,41 @@ export interface TwitterAuthTokens { */ export function captureTwitterTokens( details: chrome.webRequest.WebRequestDetails & { - requestHeaders?: chrome.webRequest.HttpHeader[] + requestHeaders?: chrome.webRequest.HttpHeader[]; }, ): boolean { if (!(details.url.includes("x.com") || details.url.includes("twitter.com"))) { - return false + return false; } const authHeader = details.requestHeaders?.find( (header) => header.name.toLowerCase() === "authorization", - ) + ); const cookieHeader = details.requestHeaders?.find( (header) => header.name.toLowerCase() === "cookie", - ) + ); const csrfHeader = details.requestHeaders?.find( (header) => header.name.toLowerCase() === "x-csrf-token", - ) + ); if (authHeader?.value && cookieHeader?.value && csrfHeader?.value) { chrome.storage.session.get([STORAGE_KEYS.TOKENS_LOGGED], (result) => { if (!result[STORAGE_KEYS.TOKENS_LOGGED]) { - console.log("Twitter auth tokens captured successfully") - chrome.storage.session.set({ [STORAGE_KEYS.TOKENS_LOGGED]: true }) + console.log("Twitter auth tokens captured successfully"); + chrome.storage.session.set({ [STORAGE_KEYS.TOKENS_LOGGED]: true }); } - }) + }); chrome.storage.session.set({ [STORAGE_KEYS.TWITTER_COOKIE]: cookieHeader.value, [STORAGE_KEYS.TWITTER_CSRF]: csrfHeader.value, [STORAGE_KEYS.TWITTER_AUTH_TOKEN]: authHeader.value, - }) + }); - return true + return true; } - return false + return false; } /** @@ -63,21 +63,21 @@ export async function getTwitterTokens(): Promise<TwitterAuthTokens | null> { STORAGE_KEYS.TWITTER_COOKIE, STORAGE_KEYS.TWITTER_CSRF, STORAGE_KEYS.TWITTER_AUTH_TOKEN, - ]) + ]); if ( !result[STORAGE_KEYS.TWITTER_COOKIE] || !result[STORAGE_KEYS.TWITTER_CSRF] || !result[STORAGE_KEYS.TWITTER_AUTH_TOKEN] ) { - return null + return null; } return { cookie: result[STORAGE_KEYS.TWITTER_COOKIE], csrf: result[STORAGE_KEYS.TWITTER_CSRF], auth: result[STORAGE_KEYS.TWITTER_AUTH_TOKEN], - } + }; } /** @@ -86,16 +86,16 @@ export async function getTwitterTokens(): Promise<TwitterAuthTokens | null> { * @returns Headers object ready for fetch requests */ export function createTwitterAPIHeaders(tokens: TwitterAuthTokens): Headers { - const headers = new Headers() - headers.append("Cookie", tokens.cookie) - headers.append("X-Csrf-Token", tokens.csrf) - headers.append("Authorization", tokens.auth) - headers.append("Content-Type", "application/json") + const headers = new Headers(); + headers.append("Cookie", tokens.cookie); + headers.append("X-Csrf-Token", tokens.csrf); + headers.append("Authorization", tokens.auth); + headers.append("Content-Type", "application/json"); headers.append( "User-Agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36", - ) - headers.append("Accept", "*/*") - headers.append("Accept-Language", "en-US,en;q=0.9") - return headers + ); + headers.append("Accept", "*/*"); + headers.append("Accept-Language", "en-US,en;q=0.9"); + return headers; } |