[swift] Swift에서 키체인을 사용하여 사용자 엑세스 토큰 저장하기

앱에서 사용자의 인증정보를 안전하게 저장하기 위해 키체인을 사용하는 것은 매우 중요합니다. 키체인은 iOS 및 macOS에서 제공하는 보안 저장소로, 암호화된 형식으로 데이터를 저장할 수 있습니다. 이번 포스트에서는 Swift에서 키체인을 사용하여 사용자의 엑세스 토큰을 안전하게 저장하는 방법을 알아보겠습니다.

CocoaPods를 사용하여 KeychainSwift 라이브러리 추가하기

키체인을 사용하기 위해 KeychainSwift 라이브러리를 사용할 것입니다. CocoaPods를 사용하여 라이브러리를 프로젝트에 추가합니다. Podfile에 다음과 같이 라이브러리를 추가합니다.

pod 'KeychainSwift'

터미널에서 다음 명령어를 실행하여 라이브러리를 설치합니다.

$ pod install

사용자 엑세스 토큰 저장하기

키체인에 사용자의 엑세스 토큰을 저장하기 위해 다음과 같은 함수를 작성합니다.

import KeychainSwift

func saveAccessToken(token: String) {
    let keychain = KeychainSwift()
    keychain.set(token, forKey: "access_token")
}

위의 코드에서 saveAccessToken 함수는 KeychainSwift 인스턴스를 생성하고, set(_:forKey:) 메소드를 사용하여 엑세스 토큰을 저장합니다. 키값은 “access_token”으로 지정하였습니다.

사용자 엑세스 토큰 가져오기

저장된 엑세스 토큰을 가져오기 위해서는 다음과 같은 함수를 작성합니다.

import KeychainSwift

func getAccessToken() -> String? {
    let keychain = KeychainSwift()
    return keychain.get("access_token")
}

위의 코드에서 getAccessToken 함수는 KeychainSwift 인스턴스를 생성하고, get(_:) 메소드를 사용하여 “access_token” 키의 값을 가져옵니다. 가져온 값은 옵셔널로 반환됩니다.

사용자 엑세스 토큰 삭제하기

저장된 엑세스 토큰을 삭제하기 위해서는 다음과 같은 함수를 작성합니다.

import KeychainSwift

func deleteAccessToken() {
    let keychain = KeychainSwift()
    keychain.delete("access_token")
}

위의 코드에서 deleteAccessToken 함수는 KeychainSwift 인스턴스를 생성하고, delete(_:) 메소드를 사용하여 “access_token” 키를 삭제합니다.

결론

이제 Swift에서 키체인을 사용하여 사용자의 엑세스 토큰을 안전하게 저장하는 방법을 알아보았습니다. 키체인을 사용하면 사용자의 인증정보를 더욱 안전하게 관리할 수 있으며, 앱의 보안 수준을 높일 수 있습니다.

참고 자료