import * as SecureStore from "expo-secure-store";
import { Platform } from "react-native";
const isWeb = Platform.OS === "web";
export const tokenStorage = {
async getAccessToken(): Promise<string | null> {
try {
if (isWeb) {
return localStorage.getItem("accessToken");
}
return await SecureStore.getItemAsync("accessToken");
} catch (error) {
console.error("토큰 조회 실패:", error);
return null;
}
},
async setAccessToken(token: string): Promise<void> {
try {
if (isWeb) {
localStorage.setItem("accessToken", token);
} else {
await SecureStore.setItemAsync("accessToken", token);
}
} catch (error) {
console.error("토큰 조회 실패:", error);
throw error;
}
},
async removeAccessToken(): Promise<void> {
if (isWeb) {
localStorage.removeItem("accessToken");
} else {
await SecureStore.deleteItemAsync("accessToken");
}
},
};