Auth Key 같은 민감 정보의 경우 깃에다 올리면 가디언이 튀어나와서 경고를 맥인다 (경험담)
그리고 사실 올리면 안 되기는 해…
그래서 방법을 찾아본 결과 plist에 키를 저장해두고 이걸 .gitignore에 추가해 로컬로 관리를 한다고 한다,,
거의 대부분의 솔루션이 이런데, 그러면 plist는 과연 안전한지??!?!에 대한 의문이 들었음
그래서 멘토님께 여쭤본 결과 plist도 완전 안전하지는 않다는 결론이 나왔었다. 로컬로 관리하기 때문에 안전할 뿐이라고..
🤷♀️ 엥 그러면 어케 해요? 🤷♀️ ⇒ 그걸 위해서 만드는 것이 .cer 파일 및 암호화
하지만 그렇게까지 하면 일이 번거로워지고 많아지므로 보통은 plist에 관리한다고 하긴 함
그래서 두가지 방법 다 정리하고자 한다.
let authKey = "XXX..."
의 구조일테니 키에 “auth_key”, 값에 “XXX…” 느낌으로 넣어주면 될 듯private var apiKey: String? {
get {
guard let filePath = Bundle.main.path(forResource: "secret", ofType: "plist")
else { return nil }
let plist = NSDictionary(contentsOfFile: filePath)
guard let value = plist?.object(forKey: "secret_key") as? String
else { return nil }
return value
}
}