Programming/Open API2013. 7. 31. 10:30

 

 

OAuth 2.0

 

개발을 하다보면 Google, Facebook, NHN, Daum, Twitter 등의 회원 서비스를 사용해야 할 때가 발생한다.

 

OAuth 2.0 은 이러한 서비스에 접근할 수 있도록 해주는 Open API 기반의 표준 인증 방식이다.

 

- 2012. 3월 : OAuth 2.0 draft 배포

- 2012. 10월 : IETF 표준으로 등록

 

예를 들어,

 

Q. 앱 사용자의 구글 캘린더 정보를 가져와서 활용하는 앱을 만든다면?

 

P. 보안 이슈

앱 자체에서 구글 계정 ID와 비밀번호를 받아서 로그인 한다면,

사용자는 자신의 구글 계정 ID와 비밀번호 노출에 대한 우려를 하게된다.

 

A.  OAuth 2.0

ID와 비밀번호를 써드파티앱에 노출하지 않고 회원 인증이 가능하며,

자신의 구글 계정 정보 중 어떠한 서비스에 접근 할지 미리 확인 할 수 있다.

 

 

 

 

먼저 이번 포스팅에서는 구글 OAuth 2.0 을 사용하기 위해 필요한 Client ID 발급 절차에 대해 알아보도록 한다.

 

1. Google API Console - 프로젝트 개설

 

(https://code.google.com/apis/console/)

 

 

Create project... 버튼을 클릭하여 프로젝트를 개설한다.

 

 

 

Register 링크를 클릭하여 프로젝트 ID 를 설정한다.

 

 

 

사용하고자 하는 프로젝트 ID 를 입력한 뒤

Check availability 버튼을 클릭하여 사용 가능 여부를 체크한다.

사용 가능하면 Choose this ID 버튼을 클릭하여 해당 ID 를 저장한다.

 

 

 

방금 입력하였던 프로젝트 ID 를 확인할 수 있다.

 

 

2. Google OAuth 2.0 Client ID 생성

 

 

Create an OAuth 2.0 client ID... 버튼을 클릭하여 Client ID 발급 절차를 진행한다.

 

 

 

사용하고자 하는 Product 명을 입력한 뒤,

Next 버튼을 클릭하여 계속 진행한다.

 

 

 

계속 진행하기 전에 클라이언트 서명이 필요하므로 없다면 생성한다.

 

keytool -exportcert -alias 키스토어명 -keystore

키스토어명 -list -v

 

 

 

다시 화면으로 돌아와 그림과 같이 선택해준다.

Package name 에는 자신의 앱 패키지명을 보기와 같이 넣어주고,

Signing certificate fingerprint (SHA1) 항목에는 위에서 확인한 SHA1 값을 넣어준다.

그리고나서 Create client ID 버튼을 클릭하여 Client ID 생성을 마친다.

 

 

 

Client ID 항목에서 생성된 Client ID 를 확인할 수 있다.

 

 

 

+ OAuth 인증 참고 자료

http://www.slideshare.net/okgosu/jco13-okgosu-20130218

 

+ 올해 한국 자바 개발자 컨퍼런스에서 옥상훈 님의 세션을 들으며 OAuth 인증에 대한 많은 이해와 힌트를 얻을 수 있었다.

+ 더욱이 세션 마지막에 질문을 하여 책(NHN 오픈 API를 활용한 매시업) 도 받았기에 내겐 더 기억에 남는 시간이었다.

 

 

+ 2013/08/28 - [Programming/Open API] - Google OAuth 2.0 for Android - 인증 예제

 

 

 

'Programming > Open API' 카테고리의 다른 글

Google OAuth 2.0 for Android - 인증 예제  (0) 2013.08.28
Google Geocoding API  (0) 2013.05.28
Posted by SiriusB