Monthly Archives: January 2015

LocalApp – Web(AppBackend) – SNS(OAuth:Facebook,Twitter…) 구조에서 로그인 처리

LocalApp : 스마트폰앱, 데스크탑앱
Browser : 모바일과 데스크탑의 웹브라우저 사용하는 경우
Web : 홈페이지
SNS : OAuth 또는 다른 인증을 제공하는 서비스들 Facebook, Twitter, Google, Naver, Daum …

– Browser – Web – SNS(OAuth) 로그인이라면 흔히 알려진 대로

Brower – Web 사이에는 세션과 쿠키를 이용하고 Web과 SNS사이에는 AccessKey를 사용한다. 로그인시에 일회적으로 인증처리만 한다면 AccessKey를 저장할 필요없이 한번 사용해도 되고 지속적으로 SNS사이트와 데이터 교환을 한다면 AccessKey를 저장소에 보관한다.

– LocalApp – Backend – SNS 의 경우에는 잘못된 방법을 사용하는 경우가  있다.

LocalApp에서 Backend의 데이터에 접근할 때 어떤 방법을 사용해서 인증을 처리해야 할까?

LocalApp에서 SNS에 바로 로그인을 하면 된다고 착각하는 경우도 있지만 이것은 해결책이 되지 못한다. 이렇게 하면 LocalApp에서 AccessKey와 회원정보를 받을 수 있고 이것을 Backend의 데이터와 비교할 수 있다. 그런데 AccessKey는 매번 동일하게 발급되지는 않을 것이니 비교를 할 수가 없고 최초 로그인일 경우에는 서버에 AccessKey 자체가 없을 것이다. 물론 단순히 회원정보를 비교해서 로그인을 할 수도 없는 것이고…

여러가지로 생각 해 봣는데 이 경우에는 WebView를 사용하는 것이 최상의 해결책이 될 수 있을 것 같다.

 

Backend에서 인증키를 발급/저장하고 이 키를 이용해서 인증할 수 있는 코드는 별도로 짜야된다.