2014-02-07 3 views
3

Twitch.tv's API을 사용하는 iOS 앱을 작성하여 내 앱이 사용자 콘텐츠에 액세스 할 수 있도록 허용합니다. 그들은 인증을 위해 OAuth 2.0 프로토콜을 사용합니다. 사용자 정보에 액세스 할 때마다이 액세스 토큰을 사용해야합니다.OAuth 토큰을 iOS에 저장하는 가장 좋은 방법은 무엇입니까?

내 질문에 어디에 저장해야합니까?

속성으로 클래스를 만들어야합니까? 이 클래스에서는 물건을 한 곳에 보관하기 위해 리디렉션 URI와 Client_ID를 저장할 수도있었습니다.

NSUserDefaults에 대해 생각했지만 안전하지는 않습니다.

iOS에서이 방법에 가장 적합한 디자인 패턴은 무엇입니까?

감사합니다.

답변

1

귀하의 질문에 단어를 사용하는 방식은 완전히 다른 두 가지를 의미하는 단어 저장소의 사용을 혼란스럽게합니다. NSUSerDefaults를 사용하면 토큰은 파일에 저장되고 앱이 종료되면 유지됩니다. 클래스의 속성으로 만들면 일시적으로 메모리에 저장되며 앱이 종료되면 계속 유지되지 않습니다. 그러므로 귀하의 질문은 사과 나 오렌지를 사용해야하는지 묻습니다.

민감한 데이터에 영구 저장 장치가 필요한 경우 NSUserDefaults를 사용하지 말고 대신 iOS 키 체인을 사용하십시오. 키 체인의 사용법은 여기에 설명하기에는 너무 길다. 키 체인은 암호화되어 있지만 사용자의 4 자리 핀 코드 만 사용해야합니다.이 코드는 잠재적으로 무차별 강제로 금이 갈 수 있습니다. 따라서 잠재적으로 암호화 할 수도 있습니다.

관련 문제