← 홈으로 돌아가기

쿠키/스토리지

웹 세션 및 데이터 관리

🍪 쿠키 관리

쿠키 설정

// Vue/React에서
await bridge.setCookie('session_id', 'abc123', {
  domain: '.example.com',
  path: '/',
  maxAge: 86400,  // 1일
  secure: true,
  httpOnly: true
});

쿠키 읽기

// JavaScript
const cookies = document.cookie
  .split(';')
  .reduce((acc, cookie) => {
    const [name, value] = cookie.trim().split('=');
    acc[name] = value;
    return acc;
  }, {});

💾 로컬 스토리지

데이터 저장

// Vue/React
await bridge.saveData('user', {
  id: 123,
  name: 'John',
  email: 'john@example.com'
});

데이터 불러오기

const user = await bridge.loadData('user');
console.log(user.name); // 'John'

🔄 세션 스토리지

🔐 보안 저장소

민감한 데이터(토큰, 비밀번호 등)는 암호화된 저장소에 저장됩니다. (Native단에서 자동 암호화 처리)

// 저장
await bridge.saveSecure('auth_token', token);

// 읽기
const token = await bridge.loadSecure('auth_token');

// 삭제
await bridge.deleteSecure('auth_token');

🎯 실전 예제

인증 토큰 관리

// 로그인 후
const token = 'eyJhbGciOiJIUzI1NiIs...';

// 보안 저장
await bridge.saveSecure('auth_token', token);

// API 호출 시 사용
const token = await bridge.loadSecure('auth_token');
fetch('/api/user', {
  headers: { 'Authorization': `Bearer ${token}` }
});

오프라인 데이터

// 온라인일 때 저장
const posts = await fetchPosts();
await bridge.saveData('cached_posts', posts);

// 오프라인일 때
if (!navigator.onLine) {
  const posts = await bridge.loadData('cached_posts');
  displayPosts(posts);
}

⚠️ 주의사항

💡 베스트 프랙티스

안전한 데이터 관리로 사용자 개인정보를 보호하세요!