2012-02-09 4 views
3

저는 C#에서 API를 구현하려고했습니다. 구현은 잘 진행되고 있지만 걱정거리가 있습니다.인증 토큰을 저장하는 가장 좋은 방법은 무엇입니까?

내 라이브러리가 API에 대해 권한을 부여 받았을 때 webservice에 대한 결과 쿼리에 사용하는 auth_token이 있습니다.

토큰은 사용자가 동일하게 유지하므로 프로그램 실행 사이에 유지해야합니다 (응용 프로그램이 시작될 때 여전히 유효한지 확인 함).

테스트 목적으로 나는 기본적으로 응용 프로그램의 루트 디렉토리에 보관 된 텍스트 파일에 토큰을 저장합니다.

잘 작동하지만 이것이 가장 좋은 방법입니까?

자신이 PC에 있더라도 사용자가 일반 텍스트 파일로 저장된다는 점을 잘 모르는 경우.

이렇게 토큰을 저장하는 일반적인 방법은 무엇입니까?

+0

값을 암호화 한 다음 사용자 구성 파일에 저장하고 전체 구성 파일을 암호화하여 시스템 자체에 고유하도록하십시오. 이 유형의 정보를 일반 텍스트로 저장하지 마십시오. 올바른 텍스트가 아니라면 "좋은 아이디어"입니다. –

+0

단락은 친구입니다. 그것을 써. – Oded

답변

0

나는 Windows Data Protection을 사용할 것입니다. C#에서 사용하는 방법에 대해서는 수많은 examples가 있습니다. 사용자 특정 키를 사용하여 데이터를 암호화합니다. 사용자 자신 만이 해독 할 수 있습니다. 또한 서버와 클라이언트 간의 전송 중에 데이터를 보호해야합니다.

+0

Windows 데이터 보호 API는 구성 파일, 데이터베이스, 레지스트리 등에 정보를 저장하는 경우에도 사용할 수 있습니다. –

0

(아마 사용자 수준에서) 알려진 설정에 AuthToken 속성을 추가, 프로젝트 속성에서 프로젝트를위한 설정 파일을 만든 다음 사용

Properties.Settings.Default.AuthToken = userAuthToken; 

당신이 생각하는 경우에 그들은 그것을 할 것 숨김, userAuthToken을 암호화하거나 암호화하므로 덜 분명합니다.

0

api가 asp.net 또는 Windows 환경에서 사용되는지 (Request가 null인지 확인하는 것으로 충분 함) 확인할 수 있으며 첫 번째 경우에는 쿠키를 사용하고 후자는 레지스트리 키에 저장합니다.

관련 문제