feat: support 2fA

This commit is contained in:
kawamataryo 2024-10-19 11:48:32 +09:00
parent e9f8d3de46
commit 8abfc4de5c
2 changed files with 13 additions and 1 deletions

View File

@ -32,6 +32,7 @@ const STORAGE_PREFIX = "sky_follower_bridge_storage";
export const STORAGE_KEYS = {
BSKY_USER_ID: `${STORAGE_PREFIX}_bsky_password`,
BSKY_PASSWORD: `${STORAGE_PREFIX}_bsky_user`,
BSKY_SHOW_AUTH_FACTOR_TOKEN_INPUT: `${STORAGE_PREFIX}_bsky_show_auth_factor_token_input`,
} as const;
export const TARGET_URLS_REGEX = {

View File

@ -49,12 +49,21 @@ function IndexPopup() {
});
};
const saveShowAuthFactorTokenInputToStorage = (value: boolean) => {
chrome.storage.local.set({
[STORAGE_KEYS.BSKY_SHOW_AUTH_FACTOR_TOKEN_INPUT]: value,
});
};
const loadCredentialsFromStorage = useCallback(async () => {
chrome.storage.local.get(
[STORAGE_KEYS.BSKY_PASSWORD, STORAGE_KEYS.BSKY_USER_ID],
[STORAGE_KEYS.BSKY_PASSWORD, STORAGE_KEYS.BSKY_USER_ID, STORAGE_KEYS.BSKY_SHOW_AUTH_FACTOR_TOKEN_INPUT],
(result) => {
setPassword(result[STORAGE_KEYS.BSKY_PASSWORD] || "");
setIdentifier(result[STORAGE_KEYS.BSKY_USER_ID] || "");
setIsShowAuthFactorTokenInput(
result[STORAGE_KEYS.BSKY_SHOW_AUTH_FACTOR_TOKEN_INPUT] || false,
);
},
);
}, []);
@ -111,10 +120,12 @@ function IndexPopup() {
if (res.hasError) {
if (res.message.includes(AUTH_FACTOR_TOKEN_REQUIRED_ERROR_MESSAGE)) {
setIsShowAuthFactorTokenInput(true);
saveShowAuthFactorTokenInputToStorage(true);
} else {
setErrorMessage(res.message);
}
} else {
saveShowAuthFactorTokenInputToStorage(false);
window.close();
}
} catch (e) {