책소개
웹 API 인증을 위한 만능 키, OAuth 2.0을 만나다.
이 책은 OAuth 2.0을 왜 사용해야 하는지, OAuth 1.0을 비롯한 다른 인증 API와 어떤 차이가 있는지, 그리고 어떻게 사용하는지를 알려준다. 단계별 지침과 유형별 예를 하나하나씩 짚어가다 보면, OAuth 2.0의 장점과 사용 방법에 대해서 배울 수 있다. 또한 서버 측 웹 응용프로그램, 클라이언트 응용프로그램, 모바일 응용프로그램에 OAuth 2.0을 적용하는 방법에 대해서도 배울 수 있다. 이 책을 완독하고 나면, 웹 응용프로그램이나 모바일 응용프로그램에서 인증과 권한 부여 등의 어려운 작업에서 벗어날 탈출구를 찾을 수 있을 것이다.
대상 독자
웹 개발자
API 인증과 권한 부여 기능이 필요한 서비스의 개발자
[지은이] 라이언 보이드
라이언 보이드는 개발자들이 구글 기술을 이용해 Google Apps를 확장하고 비즈니스를 만들 수 있도록 해주는 구글의 개발자다. OpenSocial에서 경력을 쌓았으며, 구글의 AtomPub API 관련 팀에서 개발자들을 이끌었다. 구글에서 일하기 전에는 RIT의 중앙 웹 호스팅 환경 구축을 위한 웹 아키텍트이자, 학사시스템을 만드는 웹 애플리케이션 개발자로서 고등교육기관에서 일했다.
[옮긴이] 이정림
SK C&C 솔루션 개발팀에서 NEXCORE 솔루션 간 콘텐츠 연계를 위한 협업 플랫폼을 개발하고 있다. 이전에는 BISTel R&D팀에서 제조 공정 자동화를 위한 EES 프레임워크를 개발하여 삼성전자, 독일 Siltronic, 싱가포르 GSMC 등의 제조 공정에 적용하였다. 노래 부르기를 좋아해서 가끔 회사와 홍대 등에서 공연 활동을 하고 있다.
목차
1장. OAuth 소개
1.1 OAuth의 탄생 배경
1.2 개발자들은 왜 OAuth에 관심을 가져야 하는가?
1.3 API는 권한을 부여할 때 왜 비밀번호만을 사용하지 않는가?
1.4 OAuth 관련 용어
1.5 서명에 대한 큰 논쟁
1.6 개발자와 애플리케이션 등록
1.7 클라이언트 프로파일, 액세스 토큰, 권한 플로우
2장. 서버사이드 웹 애플리케이션 플로우
2.1 권한 코드 플로우는 언제 사용하는가?
2.2 보안성
2.3 사용자 경험
2.4 플로우의 단계
2.5 접근을 어떻게 취소할 수 있는가?
3장. 클라이언트사이드 웹 애플리케이션 플로우
3.1 암묵적 허가 플로우는 언제 사용하는가?
3.2 암묵적 허가 플로우의 제약
3.3 보안성
3.4 사용자 경험
3.5 플로우의 단계
3.6 접근을 어떻게 취소할 수 있는가?
4장. 자원 소유자 비밀번호 플로우
4.1 자원 소유자 비밀번호 플로우는 언제 사용하는가?
4.2 보안성
4.3 사용자 경험
4.4 플로우의 단계
5장. 클라이언트 인증 플로우 58
5.1 클라이언트 인증 플로우는 언제 사용하는가?
5.2 클라이언트 인증 플로우를 지원하는 API 제공 업체
5.3 클라이언트 인증은 어떻게 하는가?
5.4 보안성
5.5 플로우의 단계
5.6 액세스 토큰이 만료될 때
6장. 모바일 애플리케이션으로 사용자 데이터에 접근하기
6.1 네이티브 애플리케이션은 왜 OAuth를 사용해야 하는가?
6.2 네이티브 모바일 애플리케이션에서는 어떤 플로우를 사용하는가?
6.3 웹 브라우저
6.4 특정 제공 업체를 위한 향상된 모바일 애플리케이션 권한 처리
7장. OpenID Connect 인증
7.1 ID 토큰
7.2 보안성
7.3 사용자 권한 획득하기
7.4 Check ID 엔드포인트
7.5 UserInfo 엔드포인트
7.6 성능 향상
7.7 OpenID Connect 예제
7.8 OpenID Connect의 진화
8장. OAuth 도구와 라이브러리
8.1 구글의 OAuth 2.0 Playground
8.2 구글의 TokenInfo 엔드포인트
8.3 Apigee 콘솔
8.4 페이스북의 액세스 토큰 도구와 액세스 토큰 디버거
8.5 라이브러리
8.6 마치며
9장. 네이버 OAuth
9.1 OAuth 소개
9.2 기본 용어
9.3 OAuth 인증 Flow
9.4 OAuth 인증을 위한 파라미터
9.5 Signature Base String 생성 규칙
10장. 네이버 OAuth 인증
10.1 컨슈머 등록
10.2 Request Token 발급
10.3 OAuth Request Token
10.4 Access Token 요청
10.5 Access Token을 사용하여 보호된 자원에 접근하기
부록
부록Ⅰ 네이버 OAuth 관련 참고 사항
부록Ⅱ 도서에서 사용한 OAuth 관련 온라인 리소스