45. OAuth 2.0
OAuth versions
No
1.0 보안 문제가 있는 버전.
절대로 사용하면 안됨
OK
1.0a 안정적이고 사용해도 됨
(RFC 5849) 자체 암호화 기능
(HTTPS 불필요)
2.0 Good
(RFC 6749 기본 스펙 표준화 완료
RFC 6750) 추가 스펙 표준화 진행 중 41
46. OAuth 2.0
OAuth 2.0
OAuth 1.0
Authorization
Protocol
Framework
호환 안됨 / 용어부터 완전 다름
42
54. OAuth 2.0
Client types
(기준: client 인증서를 안전하게 보관할 수 있는가)
Confidential
Public Client
Client
client 인증서 보관 client 인증서 없음
안전하게 client 인증서를 resource owner가
보관할 수 있는 기기 소유한 기기
ex) 서버 등 ex) 핸드폰, JS기반 app 등
50
55. OAuth 2.0
다양한 인증 방식 (Grant type)
3-legged 2-legged
Public Password Credentials
Implicit Grant
Client Grant
Confidential Authorization Client Credentials
Client Code Grant Grant
51
58. OAuth 2.0
다양한 토큰 방식
Bearer token (표준)
GET /wishlist/expensive
Authorization: Bearer xx...
GET /wishlist/expensive?access_token=xx..
MAC token
JSON-web token
SAML2
54
59. OAuth 2.0
Access token 유효기간
모든 access token은 유효기간을 지님
기간이 만료되면 refresh token으로 연장
번거롭고 귀찮은 일..
55
60. OAuth 2.0
OAuth libraries
1. 연동하기
각 서비스의 SDK
2.SDK가 없는 서비스 연동하기
OAuth library http://oauth.net/code/
3.OAuth 서비스 제공하기
OAuth library http://oauth.net/code/
56