로그인회원가입장바구니고객센터마이페이지회사소개
kangcom
전체
Home >   >   > 

『OAuth 2.0 쿡북: Spring Security를 이용한 OAuth 애플리케이션 개발』

   
지은이 아돌포 엘로이 나시멘토   |   출판사 에이콘  |   발행일 2018년 10월 31일
 
클릭하시면 큰 도서이미지를 보실 수 있습니다.
판매가 40,000원36,000원 10%
마일리지 5% 2,000원
발행일 2018-10-31
ISBN 1161752218 | 9791161752211
기타정보 번역서 | 524쪽
예상출고일 금일 가능 (근무일기준)
배송비 무료배송
   
일반
   
 

★ 요약 ★



Spring Security를 이용해 실질적으로 OAuth 2.0 애플리케이션을 구현하는 데 초점 맞추고 있다. 기본적인 형태의 OAuth 2.0 애플리케이션 구현뿐만 아니라 동적 클라이언트 등록, 토큰 인트로스펙션, PKCE, JWT 액세스 토큰, OpenID Connect와 같은 다양하고 확장된 주제에 대해 구체적인 구현 가이드를 제시한다.





★ 이 책에서 다루는 내용 ★



■ 발급된 액세스 토큰과 리프레시 토큰을 저장하기 위해서 레디스(Redis)와 관계형 데이터베이스를 이용하는 방법

■ Spring Security를 이용하는 OAuth 2.0 프로바이더로 보호되는 리소스에 대한 액세스 방법

■ 인가 서버에 자신을 동적으로 등록하는 웹 애플리케이션 구현 방법

■ 동적 클라이언트 등록을 이용해서 모바일 클라이언트의 안전성을 향상시키는 방법

■ PKCE를 이용한 안드로이드 클라이언트 보호 방법

■ 잘못된 리다이렉션으로부터 인가 서버를 보호하는 방법



★ 이 책의 대상 독자 ★



API 보안과 OAuth 2.0에 대한 기술을 향상시키고자 하는 소프트웨어 엔지니어와 보안 전문가를 대상으로 한다. 안드로이드 모바일 애플리케이션뿐만 아니라, Spring Boot 애플리케이션을 위한 OAuth 2.0 지원을 프로그램적으로 추가하고자 하는 개발자에게도 도움을 주고자 한다. 프로그래밍 지식과 기본적인 웹 개발에 대한 이해가 필요하다. 이 책 전반에 걸쳐 Spring Security OAuth2를 이용하기 때문에 사전에 Spring 프레임워크에 대한 경험이 있다면 도움이 될 것이다.

★ 이 책의 구성 ★



1장, ‘OAuth 2.0 기본’에서는 독자가 페이스북이나 링크드인, 구글 같이 공개된 OAuth 2.0 API와 상호작용할 수 있도록 간단한 예제를 통해 OAuth 2.0의 기본을 설명한다.

2장, ‘OAuth 2.0 프로바이더 구현’에서는 OAuth 2.0 프로바이더 구현 방법을 설명하며, 인가 서버와 리소스 서버가 다른 OAuth 2.0 그랜트 타입을 고려하는 것에도 도움을 준다. 또한 다른 데이터베이스에 액세스 토큰을 저장함으로써 리프레시 토큰을 효과적으로 처리하는 방법도 설명한다.

3장, ‘OAuth 2.0 보호 API’에서는 OAuth 2.0 스펙에서 설명하는 모든 그랜트 타입과 상호작용할 수 있는 OAuth 2.0 클라이언트 애플리케이션 만드는 방법을 설명한다. 또한 클라이언트에서 리프레시 토큰을 관리하는 방법도 설명한다.

4장, ‘OAuth 2.0 프로파일’에서는 몇 가지 OAuth 2.0 프로파일과 Spring Security OAuth2를 이용해 그것을 구현하는 방법을 설명한다. 프로파일은 토큰 폐기와 토큰을 원격에서 확인할 수 있게 해주는 토큰 인트로스펙션처럼 OAuth 2.0 스펙에서 다루고 있지 않는 특정 시나리오를 처리하는 데 이용된다. 또한 원격에서 토큰을 확인할 때 캐시를 사용하는 시기와 방법에 대한 몇 가지 가이드를 제공한다.

5장, ‘JWT’에서는 OAuth 2.0 액세스 토큰으로 JWT를 사용하는 방법을 설명하며, JWT 액세스 토큰에 의해 전달되는 내용을 보호하기 위해서 서명과 암호화를 제공하는 JWS와 JWE 같은 확장된 JWT의 구현 방법을 설명한다. 또한 OAuth 2.0에서 소유 증명키를 이용해 애플리케이션의 보안성을 향상시킬 수 있는 좋은 방법도 설명한다.

6장, ‘인증을 위한 OpenID Connect’에서는 인가와 인증의 차이점, OAuth 2.0이 어떻게 인증 프로토콜을 구축하는지 설명한다. OpenID Connect의 사용 방법을 설명하기 위해 모든 예제는 OpenID Connect 프로바이더가 아닌 클라이언트 애플리케이션을 대상으로 한다.

7장, ‘모바일 클라이언트 구현’에서는 안드로이드용 OAuth 2.0 네이티브 모바일 클라이언트 구현 방법을 다룬다. 네이티브 앱을 위한 OAuth 2.0이라는 이름으로 최근에 공개된 스펙에서 기술하고 있는 몇 가지 가이드라인도 설명한다.

8장, ‘보안 취약점 방지’에서는 OAuth 2.0 생태계에서 고려해야 하는 OAuth 2.0의 주요 구성 요소를 좀 더 효과적으로 보호할 수 있는 방법을 설명한다.





★ 지은이의 말 ★



OAuth 2.0은 인가를 위한 표준 프로토콜이며, 클라이언트 개발자가 웹 애플리케이션과 데스크톱 애플리케이션, 모바일 폰 등을 위한 인가 플로우를 간단히 개발할 수 있게 하는 데 초점을 맞추고 있다. OAuth 스펙 문서가 있지만 복잡하다고 생각할 수도 있다. 이 책은 간단한 예제를 통해 OAuth 2.0을 이용할 수 있도록 도움을 준다. 흥미로운 예제를 통해 다양한 애플리케이션에 대한 특정 인가 플로우를 설명하며, Spring Security를 이용하고 안드로이드 애플리케이션을 만들어 실제적인 문제를 해결할 수 있는 유용한 방법을 제공한다.
1장. OAuth 2.0 기본

__소개

__기반 환경 준비

__클라이언트 측에서 페이스북 사용자의 연락처 읽기

__서버 측에서 페이스북 사용자의 연락처 읽기

__링크드인의 보호된 리소스에 접근

__사용자 세션에 바이딩된 구글의 보호된 리소스에 접근





2장. OAuth 2.0 프로바이더 구현

__소개

__인가 코드 그랜트 타입을 이용한 리소스 보호

__암시적 그랜트 타입 지원

__OAuth 2.0으로의 전환을 위한 리소스 소유자 패스워드 자격증명 그랜트 타입

__클라이언트 자격증명 그랜트 타입

__리프레시 토큰 지원

__토큰과 클라이언트 정보를 저장하기 위한 관계형 데이터베이스 이용

__Redis를 이용한 토큰 저장

__클라이언트 등록 구현

__중간에서 OAuth 2.0 프로바이더 분리

__공유된 데이터베이스를 이용한 토큰 유효성 검사 과정을 Gatling으로 테스트





3장. OAuth 2.0보호 API

__소개

__인가 코드 그랜트 타입을 이용하는 OAuth 2.0 클라이언트

__암시적 그랜트 타입을 이용하는 OAuth 2.0 클라이언트

__리소스 소유자 패스워드 자격증명 그랜트 타입을 이용하는 OAuth 2.0 클라이언트

__클라이언트 자격증명 그랜트 타입을 이용하는 OAuth 2.0 클라이언트

__클라이언트에서의 리프레시 토큰 관리

__RestTemplate으로 OAuth 2.0의 보호된 API에 대한 접근





4장. OAuth 2.0 프로파일

__소개

__발급된 토큰 폐기

__토큰 인트로스펙션을 이용한 원격 검증

__캐시를 이용한 원격 검증 성능 향상

__Gatling을 이용한 원격 토큰 검증에 대한 부하 테스트

__동적 클라이언트 등록





5장. JWT

__소개

__JWT 액세스 토큰 만들기

__리소스 서버에서 JWT 토큰 검증

__JWT에 사용자 정의 클레임 추가

__JWT 토큰의 비대칭 서명

__비대칭 서명된 JWT 토큰 검증

__JWT 토큰을 암호화해서 보호하기 위한 JWE

__리소스 서버에서의 JWE 사용

__OAuth 2.0 프로바이더에서 소유 증명 키 사용

__클라이언트에서 소유 증명 키 사용





6장. 인증을 위한 OpenID Connect

__소개

__구글 OpenID Connect를 통한 구글 사용자의 인증

__ID 프로바이더로부터 사용자 정보 획득

__사용자 인증을 위한 페이스북 이용

__Spring Security 5로 구글 OpenID Connect 이용

__Spring Security 5로 마이크로소프트와 구글 OpenID 프로바이더 함께 이용





7장. 모바일 클라이언트 구현

__소개

__안드로이드 개발 환경 준비

__시스템 브라우저로 인가 코드를 이용하는 안드로이드 OAuth 2.0 클라이언트 만들기

__시스템 브라우저로 암시적 그랜트 타입을 이용한 안드로이드 OAuth 2.0 클라이언트 만들기

__내장 브라우저를 이용하는 안드로이드 2.0 클라이언트 만들기

__OAuth 2 서버가 제공하는 패스워드 그랜트 타입을 이용하는 클라이언트 앱

__PKCE로 안드로이드 클라이언트 보호

__모바일 애플리케이션으로 동적 클라이언트 등록 이용





8장. 보안 취약점 방지

__소개

__리소스 서버에 대한 요청자 검증

__권한 범위 검증을 통한 리소스 서버 보호

__사용자의 리소스를 보호하기 위한 사용자 역할과 권한 범위 바인딩

__인가 코드 삽입으로부터 클라이언트 보호

__잘못된 리다이렉션으로부터 인가 서버 보호

아돌포 엘로이 나시멘토(Adolfo Eloy Nascimento)

Elo7의 소프트웨어 엔지니어로서 컴퓨터 과학 학사 학위를 취득했고, 1999년부터 소프트웨어 개발 업무를 수행해왔다. 2003년에 ASP, PHP4/5, 자바스크립트와 자바(때로는 루비 온 레일즈 애플리케이션의 유지 보수 작업도 수행)를 이용한 웹 애플리케이션 개발을 시작했다. 마이크로서비스 아키텍처를 이용한 애플리케이션 설계와 퍼블릭 API를 모델링하고 상호작용하기 위해 2년 전부터 OAuth 2.0을 사용하기 시작했다.

기술 애호가로서 프로그래밍 언어와 새로운 기술에 대한 것을 읽고 배우는 것을 좋아한다. 또한 새로운 애플리케이션을 만드는 것뿐만 아니라 자신이 습득한 지식을 공유하는 것도 중요하다고 믿기 때문에 개인 블로그에 글을 쓰고 브라질에 있는 자바 매거진에 기사를 쓰거나 기술 도서를 집필하고 있다.



★ 옮긴이의 말 ★



OAuth 2.0은 현재 광범위하게 사용되고 있는 인가(Authorization) 프로토콜이다. 상대적으로 구현이 간단할 뿐만 아니라 다양한 확장성을 제공하고 있기 때문에 많이 사용된다고 할 수 있다. 즉, 데스크톱 애플리케이션, 모바일 앱, 그리고 웹 애플리케이션 등 다양한 형태의 애플리케이션에서 인가 플로우를 간단히 개발할 수 있게 해준다.

이 책을 통해 매우 다양한 형태의 OAuth 2.0 애플리케이션과 그 확장된 기능 구현에 대해 배울 수 있다. 즉, Spring Security를 이용해 다양한 형태의 OAuth 2.0 인가 플로우뿐만 아니라 동적 클라이언트 등록, 토큰 인트로스펙션, PKCE, JWT 액세스 토큰, OpenID Connect 같은 확장된 주제와 기능을 어떻게 구현하면 되는지 예제 코드를 기반으로 실질적으로 가이드한다. 또한 OAuth 2.0 클라이언트와 서버 간에 발생할 수 있는 보안 취약점과 그것을 방지하기 위한 방법을 제시한다.

OAuth 2.0은 엄밀히 말하면 인증(Authentication) 프로토콜이 아닌 인가 프로토콜이기 때문에 인증 프로토콜이 추가로 필요한 애플리케이션인 경우 OAuth 2.0을 확장해서 인증을 구현하거나 별도의 인증 프로토콜을 구현하는 데 대해 좀 더 깊이 생각할 수 있는 계기가 되길 희망한다.



★ 옮긴이 소개 ★



윤우빈
기존의 IT 기술과 새로 만들어지고 있는 최신 기술을 보안이라는 관점에서 이해하고, 새로운 기술, 비즈니스 영역의 새로운 보안 위협과 그에 대한 대응 기술에 대해 고민하며, 에이콘출판사를 통해 다양한 보안 관련 지식을 공유하고자 노력 중이다. 지금도 여전히 새로운 분야에 대한 보안 기술 연구와 다양한 보안 기술 개발을 위해 진땀 흘리고 있다.

등록된 서평이 없습니다.
허팝과 함께하는 유튜브 크리에이터 되기(YouTube 채널 운영부터 동영상 촬영 및 편집, 라이브 방송, 수익 창출까지!)...
허팝, 강전희, 안정기
선택된 상품을 찜하실 수 있습니다. 선택된 상품을 바로구매 하실 수 있습니다.
SNS와 유튜브 1인 미디어를 위한 스마트폰 활용법...
김경수, 정인걸, 황세웅
선택된 상품을 찜하실 수 있습니다. 선택된 상품을 바로구매 하실 수 있습니다.
[코드로 배우는 스프링 웹 프로젝트 개정판]...
구멍가게 코딩단
선택된 상품을 찜하실 수 있습니다. 선택된 상품을 바로구매 하실 수 있습니다.
 
전체평균(0)
회원평점   회원서평수 0
에이콘 출판사의 신간
『Windows Debugging 2/e: WinDbg로 배우는 윈도우 디버깅』
최바울, 이태화, 김희준, 김성현 저
49,500원
(10%↓+5%)
 
『C++ 멀티스레딩 정복하기: 견고하면서도 병렬성과 병행성을 가지는 애플리케이션 작성법』
마야 포쉬 저
22,500원
(10%↓+5%)
 
『타이핑 슈팅 액션 게임 개발 with 유니티 2/e : 유니티 상급 개발자로 올라서기』
앨런 쏜 저
36,000원
(10%↓+5%)
 
『파이썬과 비즈니스 자동화: 파이썬 레시피와 함께하는 비즈니스 자동화 프로그래밍 개발』
체탄 기리다 저
27,000원
(10%↓+5%)
 
『*OS Internals Vol.3: 애플 운영체제의 보안과 취약점』
조나단 레빈 저
45,000원
(10%↓+5%)
 
이메일주소수집거부