[swift] Swift에서 키체인을 사용하여 웹 서비스 API 키 관리하기

소개

웹 서비스를 개발하다 보면, API 키를 사용해야 하는 경우가 많습니다. 이러한 API 키는 프로젝트의 중요한 비밀 정보이기 때문에 안전하게 보관되어야 합니다. Swift에서는 키체인(Keychain)을 사용하여 API 키를 안전하게 관리할 수 있습니다.

키체인(Keychain)이란?

키체인은 iOS, macOS 및 다른 Apple 기기에서 사용자의 비밀 정보를 안전하게 보관할 수 있는 기능입니다. 키체인은 앱에서 중요한 데이터를 보호하고, 암호화된 상태로 저장하며, 액세스 제어 및 인증을 관리합니다.

Swift에서 키체인 사용하기

Swift에서 키체인을 사용하기 위해서는 KeychainAccess라는 라이브러리를 사용할 수 있습니다. 이 라이브러리는 키체인을 쉽게 조작할 수 있는 간편한 메소드들을 제공합니다.

KeychainAccess 라이브러리 설치하기

CocoaPods를 사용하여 KeychainAccess 라이브러리를 설치합니다. Podfile에 다음과 같이 추가하고, pod install 명령어를 실행합니다.

pod 'KeychainAccess'

API 키 저장하기

API 키를 키체인에 저장하기 위해서는 다음과 같은 코드를 사용할 수 있습니다.

import KeychainAccess

let keychain = Keychain(service: "com.example.MyApp")
keychain["APIKey"] = "my-api-key"

위의 코드는 “com.example.MyApp”이라는 서비스 이름으로 키체인 객체를 생성하고, “APIKey”라는 키로 “my-api-key”를 저장하는 예시입니다.

API 키 불러오기

저장된 API 키를 불러오기 위해서는 다음과 같은 코드를 사용합니다.

import KeychainAccess

let keychain = Keychain(service: "com.example.MyApp")
if let apiKey = keychain["APIKey"] {
    print("API Key: \(apiKey)")
} else {
    print("API Key not found in keychain")
}

위의 코드는 키체인에서 “APIKey”에 해당하는 값을 불러와서 출력하는 예시입니다. 만약 해당 키가 존재하지 않는다면 “API Key not found in keychain”을 출력합니다.

API 키 삭제하기

API 키를 삭제하기 위해서는 다음과 같은 코드를 사용합니다.

import KeychainAccess

let keychain = Keychain(service: "com.example.MyApp")
keychain["APIKey"] = nil

위의 코드는 키체인에서 “APIKey”에 해당하는 값을 삭제하는 예시입니다.

결론

Swift에서는 KeychainAccess 라이브러리를 사용하여 키체인을 쉽게 조작할 수 있습니다. API 키와 같은 중요한 정보를 키체인에 안전하게 저장하여 보호할 수 있습니다.