2014-12-29 2 views
0

기본 iOS 앱을 개발 중이며 HTTPS와 통신하는 백엔드 PHP 서버가 있습니다.기본 iOS 앱과 서버 간의 보안

지금 내가 가진 것은 사용자 이름/비밀번호 로그인, 페이스 북 또는 Google 로그인으로 로그인 할 수 있다는 것입니다. 서버가 토큰을 생성하여 사용자에게 보냅니다. 사용자는 서버에 대한 모든 호출에이 값을 사용합니다.

하지만 : - 서버 "guy"가 전화를 할 때마다 새 토큰을 보내도록 선택했습니다. 나는 이것이 몇 가지 이유로 나쁜 디자인이라고 생각한다. - 만료되어야합니까? 그렇다면 토큰을 갱신하는 사용자 환경을 어떻게 원활하게 유지할 수 있습니까? 그렇지 않다면,이 취약한 사람은 아닙니까?

위의 디자인이 우수합니까? 나는 또한 당신들이 보안 설계로 사용하고있는 것을 알고 싶습니까?

건배.

답변

1

NSUserDefaults 대신 SSKeyChain을 사용하여 장치에서 토큰 보안 용. 모든 호출에 대해 새 토큰을 생성 할 필요는 없습니다. 로그인/가입 할 때마다 Use Token을 생성 할 수 있습니다.

+0

만료가없는 보안 문제가 있습니까? – Nam

+0

아니요. 그렇지만 여전히 원한다면. 토큰을 갱신하고 응용 프로그램에서 토큰이 일치하지 않으면 로그인 화면으로 다시 보내십시오. – coreDeviOS

+0

"토큰이 일치하지 않으면 ..."기존 토큰으로 토큰을 갱신 하시겠습니까? – Nam

0

토큰을 SSKeyChain에 대신 저장하십시오. 동일한 토큰을 다시 사용하려면이 메소드를 사용하십시오.

+0

만료가없는 보안 문제가 있습니까? – Nam

+0

@Nam 매주 새로운 토큰을 보내지 않고 한 주 또는 한 달 만료시킬 수 있습니다. 가장 좋은 방법은 토큰을 키 체인에 저장하고 사용자가 응용 프로그램에 액세스 할 때마다 다시 호출하여 사용자가 다시 로그인 할 필요가 없도록하는 것입니다. 토큰은 로그 아웃 한 다음 다시 로그인하거나 수정 만기 기간 후에 만 ​​새로 생성해야합니다. –

+0

나는이 모든 토큰 기반 인증에서 새로운 제품입니다. 이것을위한 좋은 디자인 패턴의 예가 있습니까? – Nam

관련 문제