aboutsummaryrefslogtreecommitdiff
path: root/apps/browser-extension/utils/twitter-auth.ts
diff options
context:
space:
mode:
Diffstat (limited to 'apps/browser-extension/utils/twitter-auth.ts')
-rw-r--r--apps/browser-extension/utils/twitter-auth.ts54
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;
}