본문 바로가기

react-native

[RN] react-native-keychain 구현

사용자의 인증 정보들을 앱에 저장하기 위해 react-native-keychain을 구현했다.

구현만 해놓고 나중에 생체인증과 같은 민감한 정보들을 사용하는데 쓸 것 같다.(PIN 번호도 저장해도 괜찮을 듯)

 

npm install --save react-native-keychain

 

secure-key-store.js

import * as Keychain from 'react-native-keychain';

// 데이터 저장
export const setItem = async (key, value) => {
    try {
        await Keychain.setInternetCredentials(
            key,
            key,
            value
        );
    }catch(error){
        console.log('keychain set error:', error);
    }
}

// 데이터 조회
export const getItem = async (key) => {
  try {
    const credentials = await Keychain.getInternetCredentials(key);
    if (credentials && credentials.password) {
      const savedPinNumber = credentials.password;
      return savedPinNumber;
    } else {
      return null;
    }
  } catch (error) {
    console.log('keychain get error:', error);
    return null;
  }
}