SlideShare une entreprise Scribd logo
1  sur  19
Oauth
2014년 GDG Women Korea 첫 스터디
OAuth의 탄생과 사용
• 인증을 위한 프로토콜
• Facebook, Twitter같은걸 다
른 애플리케이션(데스크톱,
웹, 모바일)에서도 사용할수
있게 한것
방문증 발급과정
나방문씨(외부 손님)가 안내 데스크에서 업무적인
목적으로 김목적씨(회사 사원)를 만나러 왔다고
말한다.
데스크에서는 김목적씨에게 나방문씨가 방
문했다고 연락한다.

김목적씨가 안내 데스크로 찾아와 나방문씨
의 신원을 확인해 준다.

김목적씨는 업무 목적과 인적 사항을 안내
데스크에서 기록한다.
방문증 발급과정
안내 데스크에서 나방문 씨에게 방문증을 발급해
준다.

김목적씨와 나방문씨는 정해진 장소로 이동해 업
무를 진행한다.

Oauth와 로그인은 다르다!
'방문증'을 가진 사람이 출입할 수 있는 곳과
'사원증'을 가진 사람이 출입할 수 있는 곳은 다르다.
역시 직접 서비스에 로그인한 사용자와
OAuth를 이용해 권한을 인증받은 사용자는 할 수 있는 일이 다르다.
용어
용어

설명

User

Service Provider에 계정을 가지고 있으면서, Consumer를
이용하려는 사용자

Service Provider

OAuth를 사용하는 Open API를 제공하는 서비스

Consumer

OAuth 인증을 사용해 Service Provider의 기능을 사용하려
는 애플리케이션이나 웹 서비스

Request Token

Consumer가 Service Provider에게 접근 권한을 인증받기
위해 사용하는 값. 인증이 완료된 후에는 Access Token으
로 교환한다.

Access Token

인증 후 Consumer가 Service Provider의 자원에 접근하기
위한 키를 포함한 값
OAuth Dance, OAuth 1.0 인증 과정
직접 해보기
• http://dna.daum.net/tools/pg/oauth
방문증 발급과정
나방문씨(외부 손님)가 안내 데스크에서 업무적인
목적으로 김목적씨(회사 사원)를 만나러 왔다고
말한다.
Request Token의 요청과 발급
데스크에서는 김목적씨에게 나방문씨가 방
문했다고 연락한다.
사용자 인증 페이지 호출

김목적씨가 안내 데스크로 찾아와 나방문씨
의 신원을 확인해 준다.
사용자 로그인 완료
김목적씨는 업무 목적과 인적 사항을 안내
데스크에서 기록한다.
사용자의 권한 요청 및 수락
방문증 발급과정
안내 데스크에서 나방문 씨에게 방문증을 발급해
준다.
Access Token 발급

김목적씨와 나방문씨는 정해진 장소로 이동해 업
무를 진행한다.
Access Token을 이용해 서비스 정보 요청
Request Token
Request Token
GET http://nid.naver.com/naver.oauth?mode=req_req_token&
oauth_callback=http://example.com/OAuthRequestToken.do&
oauth_consumer_key=WEhGuJZWUasHg&
oauth_nonce=zSs4RFI7lakpADpSsv&
oauth_signature=wz9+ZO5OLUnTors7HlyaKat1Mo0=&
oauth_signature_method=HMAC-SHA1&
oauth_timestamp=1330442419&
oauth_version=1.0 HTTP/1.1
사용자 인증 페이지의 호출
사용자 인증 페이지의 호출
• 로그인 화면을 호출하는 단계까지가 '안내 데스크에서 김
목적씨에게 전화하는 단계'라 보면 되겠다.
• 이제 김목적씨가 안내 데스크로 와서 나방문씨를 확인해야
한다. 정말 나방문씨가 맞는지 아닌지 확인하는 과정이 필
요할 것이다. 이 과정이 OAuth에서는 Service Provider에서
User를 인증하는 과정이라고 볼 수 있다.
사용자 인증 페이지의 호출
Access Token 요청하기
Access Token 요청하기
Access Token 사용하기
Access Token 사용하기
Authorization: OAuth oauth_consumer_key="dpf43f3p2l4k3l03",
oauth_token="nSDFh734d00sl2jdk",
oauth_signature_method="HMACSHA1",
oauth_timestamp="1379123202",
oauth_nonce="csrrkjsd0OUhja",
oauth_signature="MdpQcU8iPGGhytrSoN%2FUDMsK2sui9I%3D"
OAuth 2.0
• 웹 애플리케이션이 아닌 애플리케이션 지원 강화
• 암호화가 필요 없음
HTTPS를 사용하고 HMAC을 사용하지 않는다.
• Siganature 단순화
정렬과 URL 인코딩이 필요 없다.
• Access Token 갱신
OAuth 1.0에서 Access Token을 받으면 Access Token을 계속
사용할 수 있었다. 트위터의 경우에는 Access Token을 만료
시키지 않는다. OAuth 2.0에서는 보안 강화를 위해 Access
Token의 Life-time을 지정할 수 있도록 했다.

Contenu connexe

En vedette

안드로이드 OAuth 1.0a, 2.0 구현 - Naver, Google API
안드로이드 OAuth 1.0a, 2.0 구현 - Naver, Google API 안드로이드 OAuth 1.0a, 2.0 구현 - Naver, Google API
안드로이드 OAuth 1.0a, 2.0 구현 - Naver, Google API Gosu Ok
 
[Hello world 오픈 세미나]oauth
[Hello world 오픈 세미나]oauth[Hello world 오픈 세미나]oauth
[Hello world 오픈 세미나]oauthNAVER D2
 
Spring framework 3.2 > 4.0 — themes and trends
Spring framework 3.2 > 4.0 — themes and trendsSpring framework 3.2 > 4.0 — themes and trends
Spring framework 3.2 > 4.0 — themes and trendsArawn Park
 
Daum 로그인 API (함태윤)
Daum 로그인 API (함태윤)Daum 로그인 API (함태윤)
Daum 로그인 API (함태윤)Daum DNA
 
가볍게 살펴보는 AngularJS
가볍게 살펴보는 AngularJS가볍게 살펴보는 AngularJS
가볍게 살펴보는 AngularJSJae Sung Park
 
Open API 발표자료 - 김연수
Open API 발표자료 - 김연수Open API 발표자료 - 김연수
Open API 발표자료 - 김연수Yeon Soo Kim
 
오픈 API 활용방법(Daum 사례 중심, 윤석찬)
오픈 API 활용방법(Daum 사례 중심, 윤석찬)오픈 API 활용방법(Daum 사례 중심, 윤석찬)
오픈 API 활용방법(Daum 사례 중심, 윤석찬)Daum DNA
 
OAuth2 - API 인증을 위한 만능도구상자
OAuth2 - API 인증을 위한 만능도구상자OAuth2 - API 인증을 위한 만능도구상자
OAuth2 - API 인증을 위한 만능도구상자Minwoo Park
 
SOAP REST 이해
SOAP REST 이해SOAP REST 이해
SOAP REST 이해Jake Yoon
 
An Introduction to OAuth 2
An Introduction to OAuth 2An Introduction to OAuth 2
An Introduction to OAuth 2Aaron Parecki
 
Do IoT Yourself! - 사물 간의 연결을 위한 Open API
Do IoT Yourself! - 사물 간의 연결을 위한 Open APIDo IoT Yourself! - 사물 간의 연결을 위한 Open API
Do IoT Yourself! - 사물 간의 연결을 위한 Open APIHyunghun Cho
 

En vedette (12)

안드로이드 OAuth 1.0a, 2.0 구현 - Naver, Google API
안드로이드 OAuth 1.0a, 2.0 구현 - Naver, Google API 안드로이드 OAuth 1.0a, 2.0 구현 - Naver, Google API
안드로이드 OAuth 1.0a, 2.0 구현 - Naver, Google API
 
[Hello world 오픈 세미나]oauth
[Hello world 오픈 세미나]oauth[Hello world 오픈 세미나]oauth
[Hello world 오픈 세미나]oauth
 
Spring framework 3.2 > 4.0 — themes and trends
Spring framework 3.2 > 4.0 — themes and trendsSpring framework 3.2 > 4.0 — themes and trends
Spring framework 3.2 > 4.0 — themes and trends
 
Daum 로그인 API (함태윤)
Daum 로그인 API (함태윤)Daum 로그인 API (함태윤)
Daum 로그인 API (함태윤)
 
가볍게 살펴보는 AngularJS
가볍게 살펴보는 AngularJS가볍게 살펴보는 AngularJS
가볍게 살펴보는 AngularJS
 
Open API 발표자료 - 김연수
Open API 발표자료 - 김연수Open API 발표자료 - 김연수
Open API 발표자료 - 김연수
 
오픈 API 활용방법(Daum 사례 중심, 윤석찬)
오픈 API 활용방법(Daum 사례 중심, 윤석찬)오픈 API 활용방법(Daum 사례 중심, 윤석찬)
오픈 API 활용방법(Daum 사례 중심, 윤석찬)
 
OAuth2 - API 인증을 위한 만능도구상자
OAuth2 - API 인증을 위한 만능도구상자OAuth2 - API 인증을 위한 만능도구상자
OAuth2 - API 인증을 위한 만능도구상자
 
SOAP REST 이해
SOAP REST 이해SOAP REST 이해
SOAP REST 이해
 
An Introduction to OAuth 2
An Introduction to OAuth 2An Introduction to OAuth 2
An Introduction to OAuth 2
 
Do IoT Yourself! - 사물 간의 연결을 위한 Open API
Do IoT Yourself! - 사물 간의 연결을 위한 Open APIDo IoT Yourself! - 사물 간의 연결을 위한 Open API
Do IoT Yourself! - 사물 간의 연결을 위한 Open API
 
OAuth2.0
OAuth2.0OAuth2.0
OAuth2.0
 

Dernier

Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...Kim Daeun
 
캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차캐드앤그래픽스
 
Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)Wonjun Hwang
 
A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)Tae Young Lee
 
Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)Wonjun Hwang
 
MOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution DetectionMOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution DetectionKim Daeun
 

Dernier (6)

Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
 
캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차
 
Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)
 
A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)
 
Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)
 
MOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution DetectionMOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution Detection
 

OAuth - GDG Korea Women 2014 첫 스터디