fix: remove password from local storage

This commit is contained in:
kawamataryo 2024-11-28 22:23:19 +09:00
parent d354030056
commit 6187d61e9e

View File

@ -46,15 +46,19 @@ function IndexPopup() {
await chrome.tabs.reload(tabId); await chrome.tabs.reload(tabId);
}; };
const saveCredentialsToStorage = () => { const saveCredentialsToStorage = async () => {
chrome.storage.local.set({ await chrome.storage.local.set({
[STORAGE_KEYS.BSKY_USER_ID]: identifier, [STORAGE_KEYS.BSKY_USER_ID]: identifier,
[STORAGE_KEYS.BSKY_PASSWORD]: password, [STORAGE_KEYS.BSKY_PASSWORD]: password,
}); });
}; };
const saveShowAuthFactorTokenInputToStorage = (value: boolean) => { const clearPasswordFromStorage = async () => {
chrome.storage.local.set({ await chrome.storage.local.remove([STORAGE_KEYS.BSKY_PASSWORD]);
};
const saveShowAuthFactorTokenInputToStorage = async (value: boolean) => {
await chrome.storage.local.set({
[STORAGE_KEYS.BSKY_SHOW_AUTH_FACTOR_TOKEN_INPUT]: value, [STORAGE_KEYS.BSKY_SHOW_AUTH_FACTOR_TOKEN_INPUT]: value,
}); });
}; };
@ -139,6 +143,7 @@ function IndexPopup() {
const formattedIdentifier = ( const formattedIdentifier = (
identifier.includes(".") ? identifier : `${identifier}.${BSKY_DOMAIN}` identifier.includes(".") ? identifier : `${identifier}.${BSKY_DOMAIN}`
).replace(/^@/, ""); ).replace(/^@/, "");
try { try {
const { session, error } = await sendToBackground({ const { session, error } = await sendToBackground({
name: "login", name: "login",
@ -151,22 +156,23 @@ function IndexPopup() {
if (error) { if (error) {
if (error.message.includes(AUTH_FACTOR_TOKEN_REQUIRED_ERROR_MESSAGE)) { if (error.message.includes(AUTH_FACTOR_TOKEN_REQUIRED_ERROR_MESSAGE)) {
setIsShowAuthFactorTokenInput(true); setIsShowAuthFactorTokenInput(true);
saveShowAuthFactorTokenInputToStorage(true); await saveShowAuthFactorTokenInputToStorage(true);
} else if (error.message.includes(RATE_LIMIT_ERROR_MESSAGE)) { } else if (error.message.includes(RATE_LIMIT_ERROR_MESSAGE)) {
setErrorMessage(error.message, DOCUMENT_LINK.RATE_LIMIT_ERROR); setErrorMessage(error.message, DOCUMENT_LINK.RATE_LIMIT_ERROR);
} else { } else {
setErrorMessage(error.message, DOCUMENT_LINK.LOGIN_ERROR); setErrorMessage(error.message, DOCUMENT_LINK.LOGIN_ERROR);
} }
} else { return;
await chrome.storage.local.set({
[STORAGE_KEYS.BSKY_CLIENT_SESSION]: session,
});
await sendToContentScript({
name: messageName,
});
saveShowAuthFactorTokenInputToStorage(false);
window.close();
} }
await chrome.storage.local.set({
[STORAGE_KEYS.BSKY_CLIENT_SESSION]: session,
});
await clearPasswordFromStorage();
await sendToContentScript({
name: messageName,
});
await saveShowAuthFactorTokenInputToStorage(false);
window.close();
} catch (e) { } catch (e) {
if ( if (
e.message?.includes("Could not establish connection") && e.message?.includes("Could not establish connection") &&