제13회 JCO 다섯번째 발표, OAuth 기반 오픈 API활용 실전
* 발표자 : 옥상훈, http://okgosu.net
* 관련자료
* OAuth Core 1.0 Revision A : http://oauth.net/core/1.0a/
* OAuth 2.0 : http://oauth.net/2/
* 인증이란?
* ID/PW 방식 인증의 위험성
* OAuth
* 사용자 입증에서 ID/PW 를 서드파티앱에 노출하지 않고 회원 인증할 수 있어야 함
* 서비스 제공자 입장에서는 인증한 API에 대해 권한을 부여하고 이에 따라 API를 제공할 수 있어야 함
* OAuth 버전
* 1.0 -> 1.0a -> 2.0 draft
* OAuth 적용기업
* Foursquare
* Daum
* NHN
* 국내는 아직 1.0a, 해외는 2.0
* OAuth 1.0a 작동방식
* 3-legged model
- User
- Consumer
- 서비스 제공자에게 컨슈머 정보를 등록해 컨슈머키(id)와 시크릿값을 발급 받아야 함
- Service Provider
* OAuth 인증 프로세스
- 써드파티앱은 회원을 서비스 제공자 화면으로 이동시켜 회원인증을 하면서 서비스 제공자로부터 접근토큰을 전달받음
- 서비스 제공자의 API를 호출할 때 접근토큰을 함께 넘겨야 사용가능
* OAuth 1.0a 개발은 서비스 제공자로부터 '접근토큰'을 발급 받기 위함
- 1단계 : 서비스 제공자에게 요청토큰을 요청함
- 2단계 : 화면을 서비스 제공자의 로그인 페이지로 이동시킴
- 3단계 : 서비스 제공자에게 접근토큰을 요청함
* OAuth 1.0a 전체 절차
* OAuth 2.0의 등장
* OAuth 1.0 의 불편한 점을 개선하기 위해 스펙논의
- 암호화, 다양한 앱 지원 등 애플리케이션에 대한 지원 강화
* OAuth 1.0 vs OAuth 2.0 비교
* OAuth 2.0 인증방식
- 3-legged
- 2-legged
* OAuth 1.0a 인증예제
* 네이버 카페 API 활용
* Consumer key, Consumer Secret 은 정확하게!
* 필수 라이브러리
- 인증 로그인화면을 띄우기 위해 WebView invisible 로 선언
* OAuth 2.0a 인증 예제
* 구글 Task API 활용
1. 인증시작
2. 회원로그인
3. 접근토큰 획득
4. API 호출
* 클라이언트 API KEY 생성
* HTTPS를 사용
* 인증서비스를 만들 때 고려사항은?
* 정리
플랫폼을 지향하는 서비스들이 대거 출현하고, 이 서비스들에서 OPEN API를 제공하면서 많은 매시업Mashup 서비스들이 출현한다. 이 과정에서 사용자의 인증 절차를 제대로 파악하는 것이 중요하다.
플랫폼 서비스를 고려하는 이들이 OAuth 인증절차에 대한 좋은 이해의 장이 되었을 것이라 생각한다.