SlideShare ist ein Scribd-Unternehmen logo
1 von 66
Downloaden Sie, um offline zu lesen
OAuth 2.0
API인증을 위한 만능 도구상자

기술전략팀 | 박민우 | @tebica
모바일 / 클라우드 / 정보인권
박민우   C / PHP / Javascript
      Python
                             2
@tebica
http://earlybird.kr
      기술전략팀
                        젤리스트
     저비용 고효율 개발자 행사   에반




                               3
지난 번에는..
“조금 더 쉬웠으면 좋겠다.”   “이미 아는 수준이었어요”
“무슨소린지 그닥 이해안됨.”
1. 오어쓰가 누구야?

2. OAuth 써봤어요!

3. OAuth 1.0은 알아요~
   OAuth 2.0을 알고싶어요!

4. 난~ 알아요!
                       7
8
이번 발표 비율




            OAuth 1.0   OAuth 2.0         Other

Easy          35%             50%         15%



       0%         25%   50%         75%       100%

                                                     9
10
2012년 10월 12일




   ed! RFC 6749
Fix    RFC 6750
책 쓸때만 하더라도...
  Draft 31 였어요...




                    12
Today’s Menu
 Why OAuth ?
 What is OAuth 1.0
 What is OAuth 2.0
 OAuth FAQs

                     13
?
Why OAuth ?
Why OAuth?




  Web 의 시대
 Mobile 의 시대
Platform 의 시대

                       15
Why OAuth?



Mobile 의 시대
 핸드폰은 쉽게 잃어 버리는데
 비밀번호를 모두 바꿔야 하나?

 너무 많은 서비스!
 비밀번호 관리는 어떡하지

                              16
Why OAuth?



Platform 의 시대
 API를 통한 서비스로
 다른 서비스와 연동도 해야지!

 페이스북/트위터의 아이디 로
 다른 서비스 가입없이 사용하고 싶어!
 (안전하게!)
                             17
Why OAuth?



이제는 -
1. 비밀번호를 신뢰못하는 앱에 저장하기 싫다.
2. 원하는 권한만 주고 싶다
3. 원할 때 권한을 회수하고 싶다.
4. 페이스북/트위터 아이디로 다른서비스에
   로그인 하고싶다.

기존의 ID / Password 인증으론
부족해 !
                                18
Why OAuth?

OAuth.. 해보셨죠?
1. 아임인에서 트위터 비밀번호 저장 없이 트윗하기
2. Facebook 로그인




                3초..
                                    19
세상은 왜!
OAuth를 좋아하는가!




            20
Why OAuth?


     REST
WE    API




                    21
What is OAuth 1.0
OAuth 1.0


                        저것
 만으로는
2006년 11월               우리
 API
 제어에
                       적합하지
 않은데..
어느날..


“우리는 인증 (Authentication)뿐만 아니라
API 사용 권한 부여(Authorization)도 할 수 있는
방법이 필요해!”

                Authentication
            =   +
                Authorization                                                                          23
OAuth 1.0



사랑의 트라이앵글          3-legged




            user                   Server
                    Client      (service provider)
                   (consumer)



                                               24
OAuth 1.0


3-legged 의 장점
1. 개발자 인증/관리




                API 호출 건수를
                   제한하겠어요!


                                  25
OAuth 1.0


3-legged 의 장점
2. 비밀번호를
전달 하지 않아도 됨


                비밀번호는
                   에게
                비밀번호는
                   에게
                             26
OAuth 1.0


      HOW?
      “인증 토큰”
       (Access Token)

API를 사용하는 서비스(consumer)에
비밀번호를 저장하지 않고
인증 토큰을 저장,인증토큰(Access Token)으로
API 사용



                                  27
OAuth 1.0



  “인증 토큰”
   (Access Token)

서비스에 패스워드 전달없이 인증
필요한 기능만 부여 할 수 있음
언제나 다시 권한 취소 가능
패스워드 변경시에도 유효
                              28
OAuth 1.0



발렛파킹
해주세요!




    1km만 주행가능
   트렁크는 열 수 없음
   터보모드 사용 불가

                         29
위시 리스트 저장
      트위터에 자동 공유
지름신




                   30
지름신

나도 트위터
 연동을
해보겠어 !
         31
지름신




      32
지름신




      33
개발   끝!
    SDK




.
.
.
                    34
OAuth 1.0


(사용자가) 처음 트위터 연동하기
             consumer


    ①
    트위터      지름신          ② 사용자를
    로그인 요청                 트위터 로그인 화면으로..

                ④ 인증토큰
                     전달



                                   service
             ③ 트위터
 user          로그인
                                   provider
트위터로 포워딩 됨

 지름신

              지름신
              by 다만들어
              damandla.kr
              wishlist app for web


                            접근할 앱 정보
    요청하는 권한
               지름신
               by 다만어
               damandla.kr
               wishlist app for web




                                       36
OAuth 1.0


트위터에 내보내기
             consumer



    ①         지름신                    인증
    위시 리스트              ② 트위터에       토큰
    저장!                  내보내기




                                 service
 user                            provider
다만들어의 지름신
wishlist app for web




                       38
OAuth 1.0


         OAuth 1.0은 불편해요..
   3-legged only                                                                     2-legged



                                    Server
    user
                   Client (service provider)
                (consumer)




Signature 생성
HMAC-SHA1
(include_entities=trueoauth_consumer_key=xvz1evFS4wEEPTGEFPHBogoauth_nonce=kYjzV
BB8Y0ZFabxSWbWovY3uYSQ2pTgmZeNu2VS4cgoauth_signature_method=HMAC-
SHA1oauth_timestamp=1318622958oauth_token=370773112-
GmHxMAgYyLbNEtIKZeRNFsMKPR9EyMZeS9weJAEboauth_version=1.0status=Hello
%20Ladies%20%2B%20Gentlemen%2C%20a%20signed%20OAuth%20request%21          )                          39
What is OAuth 2.0
OAuth 2.0

OAuth versions
                      No
     1.0         보안 문제가 있는 버전.
                 절대로 사용하면 안됨

                     OK
     1.0a        안정적이고 사용해도 됨
  (RFC 5849)       자체 암호화 기능
                  (HTTPS 불필요)

     2.0            Good
   (RFC 6749      기본 스펙 표준화 완료
   RFC 6750)     추가 스펙 표준화 진행 중        41
OAuth 2.0




               OAuth 2.0
 OAuth 1.0
             Authorization
 Protocol
              Framework


호환 안됨 / 용어부터 완전 다름
                                  42
43
OAuth 2.0

용어
             1.0                  2.0
사용자           User          Resource Owner

클라이언트     Consumer                Client

API서버                       Resource Server
        Service Provider
인증서버                       Authorization Server

                                                44
OAuth 2.0

유명한 서비스 들의 OAuth 버젼
    1.0a       2.0




                                 45
OAuth 2.0

주요 서비스의 OAuth 2.0 구현 버전




바뀐점
  HTTP 헤더 :
  OAuth - Bearer
  파라메터 이름:
  oauth_token - access_token
                                      46
OAuth 2.0



OAuth 2.0의 장점

 확장성 : API서버와 인증서버의 분리
 간단해 짐 : signature - HTTPS
 다양한 시나리오 : 다양한 토큰 지원
      다양한 grant type 지원


                                  47
OAuth 2.0

확장성 (API 서버와 인증서버의 분리 )


                                 인증서버
                                 분리




    sync 이슈!   .
               .   역할 분리!       .
                                .
               .                .       48
OAuth 2.0

간단 해졌어요

   HMAC-SHA1




                           49
OAuth 2.0

Client types
(기준: client 인증서를 안전하게 보관할 수 있는가)

   Confidential
                      Public Client
     Client

 client 인증서 보관      client 인증서 없음

 안전하게 client 인증서를     resource owner가
  보관할 수 있는 기기             소유한 기기
    ex) 서버 등        ex) 핸드폰, JS기반 app 등

                                             50
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
OAuth 2.0



 2-legged 의 사용 예



         no-browser   서버에서 접근
스마트 TV   device


                                    52
OAuth 2.0


extension 가능!

                extension
                Grant type




                                  53
OAuth 2.0


다양한 토큰 방식
  Bearer token (표준)
  GET /wishlist/expensive
  Authorization: Bearer xx...
  GET /wishlist/expensive?access_token=xx..


  MAC token
  JSON-web token
  SAML2
                                            54
OAuth 2.0



Access token 유효기간
 모든 access token은 유효기간을 지님
 기간이 만료되면 refresh token으로 연장
 번거롭고 귀찮은 일..




                                  55
OAuth 2.0



 OAuth libraries
1.             연동하기
 각 서비스의 SDK

2.SDK가 없는 서비스 연동하기
 OAuth library http://oauth.net/code/

3.OAuth 서비스 제공하기
 OAuth library http://oauth.net/code/


                                                    56
OAuth 2.0



OAuth는 위험하다!?

  “OAuth 2.0 스펙에서
    내 이름을 빼달라”
    - Eran Hammer


                                57
OAuth 2.0



 그가 제시한 이유
1.토큰 암호화 안함

2.refresh 하는 과정에서의 token 관리 문제

3.너무 많은 권한 부여방식
  모든 방식이 OAuth 2.0이다?


                                     58
OAuth 2.0



 그에 대한 반론
1.토큰 암호화 안함
  HTTPS 는 충분히 안전
2.refresh 하는 과정에서의 token 관리 문제
  여러가지 대안 존재
3.너무 많은 권한 부여방식
  안전한 grant type사용 / extension사용 제한

                                       59
OAuth 2.0



 OAuth 2.0은 안전하다
1.표준 spec을 사용하세요

2.HTTPS는 기본입니다

3.De facto 표준 (Google  FB)



                                          60
OAuth FAQs
저는 HTTPS 를 지원할 수 없어요
               어떻게 하지요?




OAuth 1.0a 를 사용하세요!
자체 암호화 기능이 있답니다

                                 62

Weitere ähnliche Inhalte

Andere mochten auch

KTH_Detail day_화성에서 온 개발자 금성에서 온 기획자 시리즈_7차(2)_Oauth_박민우_20120718
KTH_Detail day_화성에서 온 개발자 금성에서 온 기획자 시리즈_7차(2)_Oauth_박민우_20120718KTH_Detail day_화성에서 온 개발자 금성에서 온 기획자 시리즈_7차(2)_Oauth_박민우_20120718
KTH_Detail day_화성에서 온 개발자 금성에서 온 기획자 시리즈_7차(2)_Oauth_박민우_20120718KTH, 케이티하이텔
 
REST API 설계
REST API 설계REST API 설계
REST API 설계Terry Cho
 
LINQ란 무엇인가
LINQ란 무엇인가LINQ란 무엇인가
LINQ란 무엇인가Jungsoo Park
 
유니티직원들 유니티배우기 (세일즈,마케팅,오피스팀 대상)
유니티직원들 유니티배우기 (세일즈,마케팅,오피스팀 대상)유니티직원들 유니티배우기 (세일즈,마케팅,오피스팀 대상)
유니티직원들 유니티배우기 (세일즈,마케팅,오피스팀 대상)GukHwan Ji
 
유니티4.6 의 새로운 gui시스템
유니티4.6 의 새로운 gui시스템유니티4.6 의 새로운 gui시스템
유니티4.6 의 새로운 gui시스템GukHwan Ji
 
5시간동안 웨딩런 만들기 워크샵(유나이트2015)
5시간동안 웨딩런 만들기 워크샵(유나이트2015)5시간동안 웨딩런 만들기 워크샵(유나이트2015)
5시간동안 웨딩런 만들기 워크샵(유나이트2015)GukHwan Ji
 
IEnumerator란 무엇인가?
IEnumerator란 무엇인가?IEnumerator란 무엇인가?
IEnumerator란 무엇인가?Jungsoo Park
 
딥 다크 던전 그린라이트 도전기
딥 다크 던전 그린라이트 도전기딥 다크 던전 그린라이트 도전기
딥 다크 던전 그린라이트 도전기Jungsoo Park
 
C#프로그래밍, 어떻게 시작하는가
C#프로그래밍, 어떻게 시작하는가C#프로그래밍, 어떻게 시작하는가
C#프로그래밍, 어떻게 시작하는가GukHwan Ji
 
48시간, 복셀로 표현하기
48시간, 복셀로 표현하기48시간, 복셀로 표현하기
48시간, 복셀로 표현하기Jungsoo Park
 
셰이더 만들기 실습
셰이더 만들기 실습셰이더 만들기 실습
셰이더 만들기 실습Jungsoo Park
 
UniteKorea2014 - Making flappy bird workshop
UniteKorea2014 - Making flappy bird workshopUniteKorea2014 - Making flappy bird workshop
UniteKorea2014 - Making flappy bird workshopGukHwan Ji
 
Daum 로그인 API (함태윤)
Daum 로그인 API (함태윤)Daum 로그인 API (함태윤)
Daum 로그인 API (함태윤)Daum DNA
 
유니티+유니티서비스
유니티+유니티서비스유니티+유니티서비스
유니티+유니티서비스GukHwan Ji
 
REST Service Authetication with TLS & JWTs
REST Service Authetication with TLS & JWTsREST Service Authetication with TLS & JWTs
REST Service Authetication with TLS & JWTsJon Todd
 
유니티로 2D게임개발
유니티로 2D게임개발유니티로 2D게임개발
유니티로 2D게임개발GukHwan Ji
 
NDC2016 카툰999 포스트모템(피드백의 힘)
NDC2016 카툰999 포스트모템(피드백의 힘)NDC2016 카툰999 포스트모템(피드백의 힘)
NDC2016 카툰999 포스트모템(피드백의 힘)GukHwan Ji
 
셰이더 합성
셰이더 합성셰이더 합성
셰이더 합성JiUng Choi
 
5시간만에 유니티로 카드보드용 VR게임 만들기
5시간만에 유니티로 카드보드용 VR게임 만들기5시간만에 유니티로 카드보드용 VR게임 만들기
5시간만에 유니티로 카드보드용 VR게임 만들기GukHwan Ji
 

Andere mochten auch (20)

OAuth2.0
OAuth2.0OAuth2.0
OAuth2.0
 
KTH_Detail day_화성에서 온 개발자 금성에서 온 기획자 시리즈_7차(2)_Oauth_박민우_20120718
KTH_Detail day_화성에서 온 개발자 금성에서 온 기획자 시리즈_7차(2)_Oauth_박민우_20120718KTH_Detail day_화성에서 온 개발자 금성에서 온 기획자 시리즈_7차(2)_Oauth_박민우_20120718
KTH_Detail day_화성에서 온 개발자 금성에서 온 기획자 시리즈_7차(2)_Oauth_박민우_20120718
 
REST API 설계
REST API 설계REST API 설계
REST API 설계
 
LINQ란 무엇인가
LINQ란 무엇인가LINQ란 무엇인가
LINQ란 무엇인가
 
유니티직원들 유니티배우기 (세일즈,마케팅,오피스팀 대상)
유니티직원들 유니티배우기 (세일즈,마케팅,오피스팀 대상)유니티직원들 유니티배우기 (세일즈,마케팅,오피스팀 대상)
유니티직원들 유니티배우기 (세일즈,마케팅,오피스팀 대상)
 
유니티4.6 의 새로운 gui시스템
유니티4.6 의 새로운 gui시스템유니티4.6 의 새로운 gui시스템
유니티4.6 의 새로운 gui시스템
 
5시간동안 웨딩런 만들기 워크샵(유나이트2015)
5시간동안 웨딩런 만들기 워크샵(유나이트2015)5시간동안 웨딩런 만들기 워크샵(유나이트2015)
5시간동안 웨딩런 만들기 워크샵(유나이트2015)
 
IEnumerator란 무엇인가?
IEnumerator란 무엇인가?IEnumerator란 무엇인가?
IEnumerator란 무엇인가?
 
딥 다크 던전 그린라이트 도전기
딥 다크 던전 그린라이트 도전기딥 다크 던전 그린라이트 도전기
딥 다크 던전 그린라이트 도전기
 
C#프로그래밍, 어떻게 시작하는가
C#프로그래밍, 어떻게 시작하는가C#프로그래밍, 어떻게 시작하는가
C#프로그래밍, 어떻게 시작하는가
 
48시간, 복셀로 표현하기
48시간, 복셀로 표현하기48시간, 복셀로 표현하기
48시간, 복셀로 표현하기
 
셰이더 만들기 실습
셰이더 만들기 실습셰이더 만들기 실습
셰이더 만들기 실습
 
UniteKorea2014 - Making flappy bird workshop
UniteKorea2014 - Making flappy bird workshopUniteKorea2014 - Making flappy bird workshop
UniteKorea2014 - Making flappy bird workshop
 
Daum 로그인 API (함태윤)
Daum 로그인 API (함태윤)Daum 로그인 API (함태윤)
Daum 로그인 API (함태윤)
 
유니티+유니티서비스
유니티+유니티서비스유니티+유니티서비스
유니티+유니티서비스
 
REST Service Authetication with TLS & JWTs
REST Service Authetication with TLS & JWTsREST Service Authetication with TLS & JWTs
REST Service Authetication with TLS & JWTs
 
유니티로 2D게임개발
유니티로 2D게임개발유니티로 2D게임개발
유니티로 2D게임개발
 
NDC2016 카툰999 포스트모템(피드백의 힘)
NDC2016 카툰999 포스트모템(피드백의 힘)NDC2016 카툰999 포스트모템(피드백의 힘)
NDC2016 카툰999 포스트모템(피드백의 힘)
 
셰이더 합성
셰이더 합성셰이더 합성
셰이더 합성
 
5시간만에 유니티로 카드보드용 VR게임 만들기
5시간만에 유니티로 카드보드용 VR게임 만들기5시간만에 유니티로 카드보드용 VR게임 만들기
5시간만에 유니티로 카드보드용 VR게임 만들기
 

Ähnlich wie [H3 2012] OAuth2 - API 인증을위한 만능 도구상자

Clova Tech Summit 2: 코오롱베니트의 Clova Extension 계정연동 및 IoT 개발경험
Clova Tech Summit 2: 코오롱베니트의 Clova Extension 계정연동 및 IoT 개발경험Clova Tech Summit 2: 코오롱베니트의 Clova Extension 계정연동 및 IoT 개발경험
Clova Tech Summit 2: 코오롱베니트의 Clova Extension 계정연동 및 IoT 개발경험Clova Platform
 
XECon2015 :: [3-3] 김찬희 & 전창완- 네이버 아이디 로그인 소개 및 Laravel 적용
XECon2015 :: [3-3] 김찬희 & 전창완- 네이버 아이디 로그인 소개 및 Laravel 적용XECon2015 :: [3-3] 김찬희 & 전창완- 네이버 아이디 로그인 소개 및 Laravel 적용
XECon2015 :: [3-3] 김찬희 & 전창완- 네이버 아이디 로그인 소개 및 Laravel 적용XpressEngine
 
Week7. sso and oauth
Week7. sso and oauthWeek7. sso and oauth
Week7. sso and oauthHansolJang5
 
Clova Tech Summit 세션3 :Clova extension에서 OAuth 계정 연동 구현
Clova Tech Summit 세션3 :Clova extension에서 OAuth 계정 연동 구현Clova Tech Summit 세션3 :Clova extension에서 OAuth 계정 연동 구현
Clova Tech Summit 세션3 :Clova extension에서 OAuth 계정 연동 구현Clova Platform
 
Using google api in go
Using google api in goUsing google api in go
Using google api in goJongmin Kim
 
모바일게임 플랫폼 쉽게 개발하기 :: 박선용 :: Gaming on AWS 2016
모바일게임 플랫폼 쉽게 개발하기 :: 박선용 :: Gaming on AWS 2016모바일게임 플랫폼 쉽게 개발하기 :: 박선용 :: Gaming on AWS 2016
모바일게임 플랫폼 쉽게 개발하기 :: 박선용 :: Gaming on AWS 2016Amazon Web Services Korea
 
100.RED HAT SINGLE SIGN-ON
100.RED HAT SINGLE SIGN-ON100.RED HAT SINGLE SIGN-ON
100.RED HAT SINGLE SIGN-ONOpennaru, inc.
 
API Management Reference Architecture
API Management Reference ArchitectureAPI Management Reference Architecture
API Management Reference ArchitectureSeong-Bok Lee
 
[132] 서비스 오리엔티드 블록체인을 위한 스케일링 문제 해결
[132] 서비스 오리엔티드 블록체인을 위한 스케일링 문제 해결[132] 서비스 오리엔티드 블록체인을 위한 스케일링 문제 해결
[132] 서비스 오리엔티드 블록체인을 위한 스케일링 문제 해결NAVER D2
 
Open source APM Scouter로 모니터링 잘 하기
Open source APM Scouter로 모니터링 잘 하기Open source APM Scouter로 모니터링 잘 하기
Open source APM Scouter로 모니터링 잘 하기GunHee Lee
 
AManaging Kong API Gateway with Terraform
AManaging Kong API Gateway with TerraformAManaging Kong API Gateway with Terraform
AManaging Kong API Gateway with TerraformByungjin Park
 
[개방형 클라우드 플랫폼 오픈세미나 오픈클라우드 Pub] 3.open shift 분석
[개방형 클라우드 플랫폼 오픈세미나 오픈클라우드 Pub] 3.open shift 분석[개방형 클라우드 플랫폼 오픈세미나 오픈클라우드 Pub] 3.open shift 분석
[개방형 클라우드 플랫폼 오픈세미나 오픈클라우드 Pub] 3.open shift 분석Tommy Lee
 
API Gateway를 이용한 토큰 기반 인증 아키텍처
API Gateway를 이용한 토큰 기반 인증 아키텍처API Gateway를 이용한 토큰 기반 인증 아키텍처
API Gateway를 이용한 토큰 기반 인증 아키텍처Yoonjeong Kwon
 
GDG Incheon Devfest 2016 - Google API로 만드는 더욱 더 풍부한 백오피스
GDG Incheon Devfest 2016 - Google API로 만드는 더욱 더 풍부한 백오피스 GDG Incheon Devfest 2016 - Google API로 만드는 더욱 더 풍부한 백오피스
GDG Incheon Devfest 2016 - Google API로 만드는 더욱 더 풍부한 백오피스 MooYeol Lee
 
Web2.0 기술 동향 및 web 보안 취약성 분석
Web2.0 기술 동향 및 web 보안 취약성 분석Web2.0 기술 동향 및 web 보안 취약성 분석
Web2.0 기술 동향 및 web 보안 취약성 분석nam kwangjin
 
[비트베리파트너스데이] 비트베리 비즈니스 솔루션 소개 자료
[비트베리파트너스데이] 비트베리 비즈니스 솔루션 소개 자료[비트베리파트너스데이] 비트베리 비즈니스 솔루션 소개 자료
[비트베리파트너스데이] 비트베리 비즈니스 솔루션 소개 자료Bitberry
 

Ähnlich wie [H3 2012] OAuth2 - API 인증을위한 만능 도구상자 (19)

Auth
AuthAuth
Auth
 
Clova Tech Summit 2: 코오롱베니트의 Clova Extension 계정연동 및 IoT 개발경험
Clova Tech Summit 2: 코오롱베니트의 Clova Extension 계정연동 및 IoT 개발경험Clova Tech Summit 2: 코오롱베니트의 Clova Extension 계정연동 및 IoT 개발경험
Clova Tech Summit 2: 코오롱베니트의 Clova Extension 계정연동 및 IoT 개발경험
 
XECon2015 :: [3-3] 김찬희 & 전창완- 네이버 아이디 로그인 소개 및 Laravel 적용
XECon2015 :: [3-3] 김찬희 & 전창완- 네이버 아이디 로그인 소개 및 Laravel 적용XECon2015 :: [3-3] 김찬희 & 전창완- 네이버 아이디 로그인 소개 및 Laravel 적용
XECon2015 :: [3-3] 김찬희 & 전창완- 네이버 아이디 로그인 소개 및 Laravel 적용
 
RED HAT SINGLE SIGN-ON
RED HAT SINGLE SIGN-ONRED HAT SINGLE SIGN-ON
RED HAT SINGLE SIGN-ON
 
Week7. sso and oauth
Week7. sso and oauthWeek7. sso and oauth
Week7. sso and oauth
 
Clova Tech Summit 세션3 :Clova extension에서 OAuth 계정 연동 구현
Clova Tech Summit 세션3 :Clova extension에서 OAuth 계정 연동 구현Clova Tech Summit 세션3 :Clova extension에서 OAuth 계정 연동 구현
Clova Tech Summit 세션3 :Clova extension에서 OAuth 계정 연동 구현
 
Using google api in go
Using google api in goUsing google api in go
Using google api in go
 
모바일게임 플랫폼 쉽게 개발하기 :: 박선용 :: Gaming on AWS 2016
모바일게임 플랫폼 쉽게 개발하기 :: 박선용 :: Gaming on AWS 2016모바일게임 플랫폼 쉽게 개발하기 :: 박선용 :: Gaming on AWS 2016
모바일게임 플랫폼 쉽게 개발하기 :: 박선용 :: Gaming on AWS 2016
 
100.RED HAT SINGLE SIGN-ON
100.RED HAT SINGLE SIGN-ON100.RED HAT SINGLE SIGN-ON
100.RED HAT SINGLE SIGN-ON
 
API Management Reference Architecture
API Management Reference ArchitectureAPI Management Reference Architecture
API Management Reference Architecture
 
[132] 서비스 오리엔티드 블록체인을 위한 스케일링 문제 해결
[132] 서비스 오리엔티드 블록체인을 위한 스케일링 문제 해결[132] 서비스 오리엔티드 블록체인을 위한 스케일링 문제 해결
[132] 서비스 오리엔티드 블록체인을 위한 스케일링 문제 해결
 
Open source APM Scouter로 모니터링 잘 하기
Open source APM Scouter로 모니터링 잘 하기Open source APM Scouter로 모니터링 잘 하기
Open source APM Scouter로 모니터링 잘 하기
 
리로그인 Relogin: 코드스테이츠 데모데이
리로그인 Relogin: 코드스테이츠 데모데이리로그인 Relogin: 코드스테이츠 데모데이
리로그인 Relogin: 코드스테이츠 데모데이
 
AManaging Kong API Gateway with Terraform
AManaging Kong API Gateway with TerraformAManaging Kong API Gateway with Terraform
AManaging Kong API Gateway with Terraform
 
[개방형 클라우드 플랫폼 오픈세미나 오픈클라우드 Pub] 3.open shift 분석
[개방형 클라우드 플랫폼 오픈세미나 오픈클라우드 Pub] 3.open shift 분석[개방형 클라우드 플랫폼 오픈세미나 오픈클라우드 Pub] 3.open shift 분석
[개방형 클라우드 플랫폼 오픈세미나 오픈클라우드 Pub] 3.open shift 분석
 
API Gateway를 이용한 토큰 기반 인증 아키텍처
API Gateway를 이용한 토큰 기반 인증 아키텍처API Gateway를 이용한 토큰 기반 인증 아키텍처
API Gateway를 이용한 토큰 기반 인증 아키텍처
 
GDG Incheon Devfest 2016 - Google API로 만드는 더욱 더 풍부한 백오피스
GDG Incheon Devfest 2016 - Google API로 만드는 더욱 더 풍부한 백오피스 GDG Incheon Devfest 2016 - Google API로 만드는 더욱 더 풍부한 백오피스
GDG Incheon Devfest 2016 - Google API로 만드는 더욱 더 풍부한 백오피스
 
Web2.0 기술 동향 및 web 보안 취약성 분석
Web2.0 기술 동향 및 web 보안 취약성 분석Web2.0 기술 동향 및 web 보안 취약성 분석
Web2.0 기술 동향 및 web 보안 취약성 분석
 
[비트베리파트너스데이] 비트베리 비즈니스 솔루션 소개 자료
[비트베리파트너스데이] 비트베리 비즈니스 솔루션 소개 자료[비트베리파트너스데이] 비트베리 비즈니스 솔루션 소개 자료
[비트베리파트너스데이] 비트베리 비즈니스 솔루션 소개 자료
 

Mehr von KTH, 케이티하이텔

[발표자료]안드로메다에서 온 디자이너이야기 5차 next_web_지훈_20130221
[발표자료]안드로메다에서 온 디자이너이야기 5차 next_web_지훈_20130221[발표자료]안드로메다에서 온 디자이너이야기 5차 next_web_지훈_20130221
[발표자료]안드로메다에서 온 디자이너이야기 5차 next_web_지훈_20130221KTH, 케이티하이텔
 
KTH_Detail day_안드로메다에서 온 디자이너이야기_3차_디자인기본요소_박지환
KTH_Detail day_안드로메다에서 온 디자이너이야기_3차_디자인기본요소_박지환KTH_Detail day_안드로메다에서 온 디자이너이야기_3차_디자인기본요소_박지환
KTH_Detail day_안드로메다에서 온 디자이너이야기_3차_디자인기본요소_박지환KTH, 케이티하이텔
 
KTH_Detail day_안드로메다에서 온 디자이너이야기_2차(2)_디자인사례_정덕주
KTH_Detail day_안드로메다에서 온 디자이너이야기_2차(2)_디자인사례_정덕주KTH_Detail day_안드로메다에서 온 디자이너이야기_2차(2)_디자인사례_정덕주
KTH_Detail day_안드로메다에서 온 디자이너이야기_2차(2)_디자인사례_정덕주KTH, 케이티하이텔
 
KTH_Detail day_안드로메다에서 온 디자이너이야기_2차(1)_디자인프로세스,협업_한재기
KTH_Detail day_안드로메다에서 온 디자이너이야기_2차(1)_디자인프로세스,협업_한재기KTH_Detail day_안드로메다에서 온 디자이너이야기_2차(1)_디자인프로세스,협업_한재기
KTH_Detail day_안드로메다에서 온 디자이너이야기_2차(1)_디자인프로세스,협업_한재기KTH, 케이티하이텔
 
KTH_Detail day_안드로메다에서 온 디자이너이야기_1차_디자인용어_지훈
KTH_Detail day_안드로메다에서 온 디자이너이야기_1차_디자인용어_지훈KTH_Detail day_안드로메다에서 온 디자이너이야기_1차_디자인용어_지훈
KTH_Detail day_안드로메다에서 온 디자이너이야기_1차_디자인용어_지훈KTH, 케이티하이텔
 
[H3 2012] 내컴에선 잘되던데? - vagrant로 서버와 동일한 개발환경 꾸미기
[H3 2012] 내컴에선 잘되던데? - vagrant로 서버와 동일한 개발환경 꾸미기[H3 2012] 내컴에선 잘되던데? - vagrant로 서버와 동일한 개발환경 꾸미기
[H3 2012] 내컴에선 잘되던데? - vagrant로 서버와 동일한 개발환경 꾸미기KTH, 케이티하이텔
 
[H3 2012] Open API 와 Ruby on Rails 에 대한 이야기
[H3 2012] Open API 와 Ruby on Rails 에 대한 이야기[H3 2012] Open API 와 Ruby on Rails 에 대한 이야기
[H3 2012] Open API 와 Ruby on Rails 에 대한 이야기KTH, 케이티하이텔
 
[H3 2012] Bridge over troubled water : make plug-in for Appspresso
[H3 2012] Bridge over troubled water : make plug-in for Appspresso[H3 2012] Bridge over troubled water : make plug-in for Appspresso
[H3 2012] Bridge over troubled water : make plug-in for AppspressoKTH, 케이티하이텔
 
[H3 2012] 스마트모바일 환경에서의 App.품질관리전략
[H3 2012] 스마트모바일 환경에서의 App.품질관리전략[H3 2012] 스마트모바일 환경에서의 App.품질관리전략
[H3 2012] 스마트모바일 환경에서의 App.품질관리전략KTH, 케이티하이텔
 
[H3 2012] 스타트업 개발사의 생존필수 아이템, BaaS 모바일 고객센터
[H3 2012] 스타트업 개발사의 생존필수 아이템, BaaS 모바일 고객센터[H3 2012] 스타트업 개발사의 생존필수 아이템, BaaS 모바일 고객센터
[H3 2012] 스타트업 개발사의 생존필수 아이템, BaaS 모바일 고객센터KTH, 케이티하이텔
 
[H3 2012] Local based SNS를 이용한 타겟 마케팅
[H3 2012] Local based SNS를 이용한 타겟 마케팅[H3 2012] Local based SNS를 이용한 타겟 마케팅
[H3 2012] Local based SNS를 이용한 타겟 마케팅KTH, 케이티하이텔
 
[H3 2012] 오픈소스로 개발 실력 쌓기
[H3 2012] 오픈소스로 개발 실력 쌓기[H3 2012] 오픈소스로 개발 실력 쌓기
[H3 2012] 오픈소스로 개발 실력 쌓기KTH, 케이티하이텔
 
[H3 2012] 앱(APP) 중심으로 생각하기 - DevOps와 자동화
[H3 2012] 앱(APP) 중심으로 생각하기 - DevOps와 자동화[H3 2012] 앱(APP) 중심으로 생각하기 - DevOps와 자동화
[H3 2012] 앱(APP) 중심으로 생각하기 - DevOps와 자동화KTH, 케이티하이텔
 
[H3 2012] 하이브리드앱 제작 사례 공유 - 푸딩얼굴인식 3.0
[H3 2012] 하이브리드앱 제작 사례 공유 - 푸딩얼굴인식 3.0[H3 2012] 하이브리드앱 제작 사례 공유 - 푸딩얼굴인식 3.0
[H3 2012] 하이브리드앱 제작 사례 공유 - 푸딩얼굴인식 3.0KTH, 케이티하이텔
 
[H3 2012] Cloud Database Service - Hulahoop를 소개합니다.
[H3 2012] Cloud Database Service - Hulahoop를 소개합니다.[H3 2012] Cloud Database Service - Hulahoop를 소개합니다.
[H3 2012] Cloud Database Service - Hulahoop를 소개합니다.KTH, 케이티하이텔
 
[H3 2012] 기획/디자인/개발자 모두 알아야 하는 '대박앱의 비밀'
[H3 2012] 기획/디자인/개발자 모두 알아야 하는 '대박앱의 비밀'[H3 2012] 기획/디자인/개발자 모두 알아야 하는 '대박앱의 비밀'
[H3 2012] 기획/디자인/개발자 모두 알아야 하는 '대박앱의 비밀'KTH, 케이티하이텔
 
[H3 2012] 오픈 소스로 구현하는 실시간 데이터 처리를 위한 CEP
[H3 2012] 오픈 소스로 구현하는 실시간 데이터 처리를 위한 CEP[H3 2012] 오픈 소스로 구현하는 실시간 데이터 처리를 위한 CEP
[H3 2012] 오픈 소스로 구현하는 실시간 데이터 처리를 위한 CEPKTH, 케이티하이텔
 
[H3 2012] 로그속 사용자 발자국 들여다보기
[H3 2012] 로그속 사용자 발자국 들여다보기[H3 2012] 로그속 사용자 발자국 들여다보기
[H3 2012] 로그속 사용자 발자국 들여다보기KTH, 케이티하이텔
 

Mehr von KTH, 케이티하이텔 (20)

[발표자료]안드로메다에서 온 디자이너이야기 5차 next_web_지훈_20130221
[발표자료]안드로메다에서 온 디자이너이야기 5차 next_web_지훈_20130221[발표자료]안드로메다에서 온 디자이너이야기 5차 next_web_지훈_20130221
[발표자료]안드로메다에서 온 디자이너이야기 5차 next_web_지훈_20130221
 
KTH_Detail day_안드로메다에서 온 디자이너이야기_3차_디자인기본요소_박지환
KTH_Detail day_안드로메다에서 온 디자이너이야기_3차_디자인기본요소_박지환KTH_Detail day_안드로메다에서 온 디자이너이야기_3차_디자인기본요소_박지환
KTH_Detail day_안드로메다에서 온 디자이너이야기_3차_디자인기본요소_박지환
 
KTH_Detail day_안드로메다에서 온 디자이너이야기_2차(2)_디자인사례_정덕주
KTH_Detail day_안드로메다에서 온 디자이너이야기_2차(2)_디자인사례_정덕주KTH_Detail day_안드로메다에서 온 디자이너이야기_2차(2)_디자인사례_정덕주
KTH_Detail day_안드로메다에서 온 디자이너이야기_2차(2)_디자인사례_정덕주
 
KTH_Detail day_안드로메다에서 온 디자이너이야기_2차(1)_디자인프로세스,협업_한재기
KTH_Detail day_안드로메다에서 온 디자이너이야기_2차(1)_디자인프로세스,협업_한재기KTH_Detail day_안드로메다에서 온 디자이너이야기_2차(1)_디자인프로세스,협업_한재기
KTH_Detail day_안드로메다에서 온 디자이너이야기_2차(1)_디자인프로세스,협업_한재기
 
KTH_Detail day_안드로메다에서 온 디자이너이야기_1차_디자인용어_지훈
KTH_Detail day_안드로메다에서 온 디자이너이야기_1차_디자인용어_지훈KTH_Detail day_안드로메다에서 온 디자이너이야기_1차_디자인용어_지훈
KTH_Detail day_안드로메다에서 온 디자이너이야기_1차_디자인용어_지훈
 
[H3 2012] 내컴에선 잘되던데? - vagrant로 서버와 동일한 개발환경 꾸미기
[H3 2012] 내컴에선 잘되던데? - vagrant로 서버와 동일한 개발환경 꾸미기[H3 2012] 내컴에선 잘되던데? - vagrant로 서버와 동일한 개발환경 꾸미기
[H3 2012] 내컴에선 잘되던데? - vagrant로 서버와 동일한 개발환경 꾸미기
 
[H3 2012] Open API 와 Ruby on Rails 에 대한 이야기
[H3 2012] Open API 와 Ruby on Rails 에 대한 이야기[H3 2012] Open API 와 Ruby on Rails 에 대한 이야기
[H3 2012] Open API 와 Ruby on Rails 에 대한 이야기
 
[H3 2012] UX, 애자일하고 싶어요
[H3 2012] UX, 애자일하고 싶어요[H3 2012] UX, 애자일하고 싶어요
[H3 2012] UX, 애자일하고 싶어요
 
[H3 2012] Instant Prototyping with ROR
[H3 2012] Instant Prototyping with ROR[H3 2012] Instant Prototyping with ROR
[H3 2012] Instant Prototyping with ROR
 
[H3 2012] Bridge over troubled water : make plug-in for Appspresso
[H3 2012] Bridge over troubled water : make plug-in for Appspresso[H3 2012] Bridge over troubled water : make plug-in for Appspresso
[H3 2012] Bridge over troubled water : make plug-in for Appspresso
 
[H3 2012] 스마트모바일 환경에서의 App.품질관리전략
[H3 2012] 스마트모바일 환경에서의 App.품질관리전략[H3 2012] 스마트모바일 환경에서의 App.품질관리전략
[H3 2012] 스마트모바일 환경에서의 App.품질관리전략
 
[H3 2012] 스타트업 개발사의 생존필수 아이템, BaaS 모바일 고객센터
[H3 2012] 스타트업 개발사의 생존필수 아이템, BaaS 모바일 고객센터[H3 2012] 스타트업 개발사의 생존필수 아이템, BaaS 모바일 고객센터
[H3 2012] 스타트업 개발사의 생존필수 아이템, BaaS 모바일 고객센터
 
[H3 2012] Local based SNS를 이용한 타겟 마케팅
[H3 2012] Local based SNS를 이용한 타겟 마케팅[H3 2012] Local based SNS를 이용한 타겟 마케팅
[H3 2012] Local based SNS를 이용한 타겟 마케팅
 
[H3 2012] 오픈소스로 개발 실력 쌓기
[H3 2012] 오픈소스로 개발 실력 쌓기[H3 2012] 오픈소스로 개발 실력 쌓기
[H3 2012] 오픈소스로 개발 실력 쌓기
 
[H3 2012] 앱(APP) 중심으로 생각하기 - DevOps와 자동화
[H3 2012] 앱(APP) 중심으로 생각하기 - DevOps와 자동화[H3 2012] 앱(APP) 중심으로 생각하기 - DevOps와 자동화
[H3 2012] 앱(APP) 중심으로 생각하기 - DevOps와 자동화
 
[H3 2012] 하이브리드앱 제작 사례 공유 - 푸딩얼굴인식 3.0
[H3 2012] 하이브리드앱 제작 사례 공유 - 푸딩얼굴인식 3.0[H3 2012] 하이브리드앱 제작 사례 공유 - 푸딩얼굴인식 3.0
[H3 2012] 하이브리드앱 제작 사례 공유 - 푸딩얼굴인식 3.0
 
[H3 2012] Cloud Database Service - Hulahoop를 소개합니다.
[H3 2012] Cloud Database Service - Hulahoop를 소개합니다.[H3 2012] Cloud Database Service - Hulahoop를 소개합니다.
[H3 2012] Cloud Database Service - Hulahoop를 소개합니다.
 
[H3 2012] 기획/디자인/개발자 모두 알아야 하는 '대박앱의 비밀'
[H3 2012] 기획/디자인/개발자 모두 알아야 하는 '대박앱의 비밀'[H3 2012] 기획/디자인/개발자 모두 알아야 하는 '대박앱의 비밀'
[H3 2012] 기획/디자인/개발자 모두 알아야 하는 '대박앱의 비밀'
 
[H3 2012] 오픈 소스로 구현하는 실시간 데이터 처리를 위한 CEP
[H3 2012] 오픈 소스로 구현하는 실시간 데이터 처리를 위한 CEP[H3 2012] 오픈 소스로 구현하는 실시간 데이터 처리를 위한 CEP
[H3 2012] 오픈 소스로 구현하는 실시간 데이터 처리를 위한 CEP
 
[H3 2012] 로그속 사용자 발자국 들여다보기
[H3 2012] 로그속 사용자 발자국 들여다보기[H3 2012] 로그속 사용자 발자국 들여다보기
[H3 2012] 로그속 사용자 발자국 들여다보기
 

[H3 2012] OAuth2 - API 인증을위한 만능 도구상자

  • 1. OAuth 2.0 API인증을 위한 만능 도구상자 기술전략팀 | 박민우 | @tebica
  • 2. 모바일 / 클라우드 / 정보인권 박민우 C / PHP / Javascript Python 2
  • 3. @tebica http://earlybird.kr 기술전략팀 젤리스트 저비용 고효율 개발자 행사 에반 3
  • 4. 지난 번에는.. “조금 더 쉬웠으면 좋겠다.” “이미 아는 수준이었어요” “무슨소린지 그닥 이해안됨.”
  • 5.
  • 6.
  • 7. 1. 오어쓰가 누구야? 2. OAuth 써봤어요! 3. OAuth 1.0은 알아요~ OAuth 2.0을 알고싶어요! 4. 난~ 알아요! 7
  • 8. 8
  • 9. 이번 발표 비율 OAuth 1.0 OAuth 2.0 Other Easy 35% 50% 15% 0% 25% 50% 75% 100% 9
  • 10. 10
  • 11. 2012년 10월 12일 ed! RFC 6749 Fix RFC 6750
  • 12. 책 쓸때만 하더라도... Draft 31 였어요... 12
  • 13. Today’s Menu Why OAuth ? What is OAuth 1.0 What is OAuth 2.0 OAuth FAQs 13
  • 15. Why OAuth? Web 의 시대 Mobile 의 시대 Platform 의 시대 15
  • 16. Why OAuth? Mobile 의 시대 핸드폰은 쉽게 잃어 버리는데 비밀번호를 모두 바꿔야 하나? 너무 많은 서비스! 비밀번호 관리는 어떡하지 16
  • 17. Why OAuth? Platform 의 시대 API를 통한 서비스로 다른 서비스와 연동도 해야지! 페이스북/트위터의 아이디 로 다른 서비스 가입없이 사용하고 싶어! (안전하게!) 17
  • 18. Why OAuth? 이제는 - 1. 비밀번호를 신뢰못하는 앱에 저장하기 싫다. 2. 원하는 권한만 주고 싶다 3. 원할 때 권한을 회수하고 싶다. 4. 페이스북/트위터 아이디로 다른서비스에 로그인 하고싶다. 기존의 ID / Password 인증으론 부족해 ! 18
  • 19. Why OAuth? OAuth.. 해보셨죠? 1. 아임인에서 트위터 비밀번호 저장 없이 트윗하기 2. Facebook 로그인 3초.. 19
  • 21. Why OAuth? REST WE API 21
  • 23. OAuth 1.0 저것
  • 25.  API
  • 26.  제어에 적합하지
  • 27.  않은데.. 어느날.. “우리는 인증 (Authentication)뿐만 아니라 API 사용 권한 부여(Authorization)도 할 수 있는 방법이 필요해!” Authentication = + Authorization 23
  • 28. OAuth 1.0 사랑의 트라이앵글 3-legged user Server Client (service provider) (consumer) 24
  • 29. OAuth 1.0 3-legged 의 장점 1. 개발자 인증/관리 API 호출 건수를 제한하겠어요! 25
  • 30. OAuth 1.0 3-legged 의 장점 2. 비밀번호를 전달 하지 않아도 됨 비밀번호는 에게 비밀번호는 에게 26
  • 31. OAuth 1.0 HOW? “인증 토큰” (Access Token) API를 사용하는 서비스(consumer)에 비밀번호를 저장하지 않고 인증 토큰을 저장,인증토큰(Access Token)으로 API 사용 27
  • 32. OAuth 1.0 “인증 토큰” (Access Token) 서비스에 패스워드 전달없이 인증 필요한 기능만 부여 할 수 있음 언제나 다시 권한 취소 가능 패스워드 변경시에도 유효 28
  • 33. OAuth 1.0 발렛파킹 해주세요! 1km만 주행가능 트렁크는 열 수 없음 터보모드 사용 불가 29
  • 34. 위시 리스트 저장 트위터에 자동 공유 지름신 30
  • 36. 지름신 32
  • 37. 지름신 33
  • 38. 개발 끝! SDK . . . 34
  • 39. OAuth 1.0 (사용자가) 처음 트위터 연동하기 consumer ① 트위터 지름신 ② 사용자를 로그인 요청 트위터 로그인 화면으로.. ④ 인증토큰 전달 service ③ 트위터 user 로그인 provider
  • 40. 트위터로 포워딩 됨 지름신 지름신 by 다만들어 damandla.kr wishlist app for web 접근할 앱 정보 요청하는 권한 지름신 by 다만어 damandla.kr wishlist app for web 36
  • 41. OAuth 1.0 트위터에 내보내기 consumer ① 지름신 인증 위시 리스트 ② 트위터에 토큰 저장! 내보내기 service user provider
  • 43. OAuth 1.0 OAuth 1.0은 불편해요.. 3-legged only 2-legged Server user Client (service provider) (consumer) Signature 생성 HMAC-SHA1 (include_entities=trueoauth_consumer_key=xvz1evFS4wEEPTGEFPHBogoauth_nonce=kYjzV BB8Y0ZFabxSWbWovY3uYSQ2pTgmZeNu2VS4cgoauth_signature_method=HMAC- SHA1oauth_timestamp=1318622958oauth_token=370773112- GmHxMAgYyLbNEtIKZeRNFsMKPR9EyMZeS9weJAEboauth_version=1.0status=Hello %20Ladies%20%2B%20Gentlemen%2C%20a%20signed%20OAuth%20request%21 ) 39
  • 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
  • 47. 43
  • 48. OAuth 2.0 용어 1.0 2.0 사용자 User Resource Owner 클라이언트 Consumer Client API서버 Resource Server Service Provider 인증서버 Authorization Server 44
  • 49. OAuth 2.0 유명한 서비스 들의 OAuth 버젼 1.0a 2.0 45
  • 50. OAuth 2.0 주요 서비스의 OAuth 2.0 구현 버전 바뀐점 HTTP 헤더 : OAuth - Bearer 파라메터 이름: oauth_token - access_token 46
  • 51. OAuth 2.0 OAuth 2.0의 장점 확장성 : API서버와 인증서버의 분리 간단해 짐 : signature - HTTPS 다양한 시나리오 : 다양한 토큰 지원 다양한 grant type 지원 47
  • 52. OAuth 2.0 확장성 (API 서버와 인증서버의 분리 ) 인증서버 분리 sync 이슈! . . 역할 분리! . . . . 48
  • 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
  • 56. OAuth 2.0 2-legged 의 사용 예 no-browser 서버에서 접근 스마트 TV device 52
  • 57. OAuth 2.0 extension 가능! extension Grant type 53
  • 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
  • 61. OAuth 2.0 OAuth는 위험하다!? “OAuth 2.0 스펙에서 내 이름을 빼달라” - Eran Hammer 57
  • 62. OAuth 2.0 그가 제시한 이유 1.토큰 암호화 안함 2.refresh 하는 과정에서의 token 관리 문제 3.너무 많은 권한 부여방식 모든 방식이 OAuth 2.0이다? 58
  • 63. OAuth 2.0 그에 대한 반론 1.토큰 암호화 안함 HTTPS 는 충분히 안전 2.refresh 하는 과정에서의 token 관리 문제 여러가지 대안 존재 3.너무 많은 권한 부여방식 안전한 grant type사용 / extension사용 제한 59
  • 64. OAuth 2.0 OAuth 2.0은 안전하다 1.표준 spec을 사용하세요 2.HTTPS는 기본입니다 3.De facto 표준 (Google FB) 60
  • 66. 저는 HTTPS 를 지원할 수 없어요 어떻게 하지요? OAuth 1.0a 를 사용하세요! 자체 암호화 기능이 있답니다 62
  • 67. 은행 계좌이체를 구현하고 있어요 OAuth 로 인증해도 될까요? 아니오- OAuth 는 은행업무/집계약 등에 적합하지 않아요! 63
  • 68. OAuth 2.0에서 일부를 고쳐서 새로운 스펙을 만들고 싶어요! 제발 스톱!- 다양한 라이브러리의 혜택 / 생태계의 지원이 불가능해요 ! 64
  • 69. 저는 그저 작은 API서비스일 뿐인데 OAuth 프로바이더가 되려면 페이스북처럼 큰 서비스만 하는건가요? API를 제공한다면 누구나 OAuth 프로바이더가 될 수 있어요! 65
  • 70. 감사합니다. 개발실 / 기술전략팀 / 박민우 tebica@kthcorp.com @tebica 66

Hinweis der Redaktion

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. 난 알아요 부분에서 노래가 나오도록\n난 알아요! -> 문은 저쪽에 2개가 준비되어 있습니다.\n저는 중간에 나간다고 상처 받지 않아요-\n\n
  14. 난 알아요 부분에서 노래가 나오도록\n난 알아요! -> 문은 저쪽에 2개가 준비되어 있습니다.\n저는 중간에 나간다고 상처 받지 않아요-\n\n
  15. 난 알아요 부분에서 노래가 나오도록\n난 알아요! -> 문은 저쪽에 2개가 준비되어 있습니다.\n저는 중간에 나간다고 상처 받지 않아요-\n\n
  16. 난 알아요 부분에서 노래가 나오도록\n난 알아요! -> 문은 저쪽에 2개가 준비되어 있습니다.\n저는 중간에 나간다고 상처 받지 않아요-\n\n
  17. 난 알아요 부분에서 노래가 나오도록\n난 알아요! -> 문은 저쪽에 2개가 준비되어 있습니다.\n저는 중간에 나간다고 상처 받지 않아요-\n\n
  18. \n
  19. \n
  20. 시계보다 더 나은 이미지 없을까?\n
  21. 시계보다 더 나은 이미지 없을까?\n
  22. \n
  23. \n
  24. \n
  25. \n
  26. \n
  27. \n
  28. \n
  29. \n
  30. \n
  31. \n
  32. \n
  33. \n
  34. \n
  35. \n
  36. \n
  37. \n
  38. \n
  39. \n
  40. \n
  41. \n
  42. \n
  43. \n
  44. 개발자에게 이메일로 공지!\n
  45. 이제 토큰 발생 개수 제한 (3-legged 라서)\n-> 개발자 인증!\n
  46. \n
  47. \n
  48. \n
  49. \n
  50. \n
  51. \n
  52. \n
  53. \n
  54. \n
  55. \n
  56. \n
  57. \n
  58. 개발자는 트위터 개발자 페이지에서 등록해서 컨슈머 키를 받습니다.\n\n
  59. key/pass 부분을 위에 크게 확대!\n
  60. \n
  61. \n
  62. 지름신 앱 define을 웹앱으로 재설정\n\n
  63. \n
  64. \n
  65. \n
  66. \n
  67. \n
  68. umbrella term\nRFC 1.0은 당연히 OAuth 1.0a\n
  69. http://tools.ietf.org/wg/oauth/\n
  70. \n
  71. 호환안됨\n\n\n
  72. 옛날 라이브러리 괜찮아~!\n
  73. \n
  74. \n
  75. 여러 rest client\n
  76. \n
  77. \n
  78. \n
  79. \n
  80. \n
  81. \n
  82. \n
  83. 이 내용은 간결하게 정리\n
  84. \n
  85. \n
  86. \n
  87. \n
  88. \n
  89. \n
  90. 인증토큰 방식은 어울리지 않음\n
  91. 인증토큰 방식은 어울리지 않음\n
  92. \n
  93. \n
  94. \n
  95. \n
  96. \n