SlideShare a Scribd company logo
Hannes Tschofenig, Blaine Cook
      (IETF#79, Beijing)
Acknowledgements
• I would like to thank to Pasi Eronen. We are
  re-using some of his slides in this
  presentation.




12/29/12         IETF #79, OAuth Tutorial Beijing   2
The Problem: Secure Data Sharing




12/29/12    IETF #79, OAuth Tutorial Beijing   3
12/29/12   IETF #79, OAuth Tutorial Beijing   4
Example OAuth Exchange




12/29/12         IETF #79, OAuth Tutorial Beijing   5
Entities

                                                           User Agent
                                                           (Web Browser)
                     Authorization Request                                       User


 Resource Consumer
 (LinkedIn)            Token request                      Authorization Server
                                                          (Yahoo)



                     Access Request
                     (incl. Token)                         Resource Server
                                                           (Yahoo)

12/29/12               IETF #79, OAuth Tutorial Beijing                           6
User navigates to Resource Client




12/29/12   IETF #79, OAuth Tutorial Beijing   7
User authenticated by
           Authorization Server




12/29/12        IETF #79, OAuth Tutorial Beijing   8
User authorizes Resource Consumer to
       access Resource Server




12/29/12    IETF #79, OAuth Tutorial Beijing   9
Resource Client calls the
             Resource Server API




12/29/12          IETF #79, OAuth Tutorial Beijing   10
Remark: Authentication
• Yahoo in our example may outside the authentication part to
  other providers (e.g. using OpenID).
• Authorization Server and Resource Server do not need to be
  operated by the same entity.




12/29/12              IETF #79, OAuth Tutorial Beijing      11
Remark: Authorization
• Asking the user for consent prior to share
  information is considered privacy-friendly.
• User interfaces for obtaining user content may
  not always be great.




12/29/12         IETF #79, OAuth Tutorial Beijing   12
Remark: Authorization, cont.




12/29/12            IETF #79, OAuth Tutorial Beijing   13
Remark: Authorization, cont.
Remark: Authorization, cont.




12/29/12            IETF #79, OAuth Tutorial Beijing   15
Remark: Prior-Registration
• Many Resource Server require registration of
  Resource Client’s prior to usage.
• Example: http://developer.cliqset.com/api




12/29/12           IETF #79, OAuth Tutorial Beijing   16
Remark,
cont.




12/29/12   IETF #79, OAuth Tutorial Beijing   17
History




12/29/12   IETF #79, OAuth Tutorial Beijing   18
History
• November 2006: Blaine Cook was looking into the possibility of
  using OpenID to accomplish the functionality for delegated
  authentication. He got in touch with some other folks that had
  a similar need.
• December 2006: Blaine wrote a "reference implementation" for
  Twitter based on all the existing OAuth-patterned APIs, which
  Blaine and Kellan Elliott-McCrea turned into a rough functional
  draft
• April 2007: Google group was created with a small group of
  implementers to write a proposal for an open protocol.
• July 2007: OAuth 1.0 (with code for major programming
  languages)
• September 2007: Re-write of specification to focus on a single
  flow (instead of "web", "mobile", and "desktop" flows)
• Deployment of OAuth well on it’s way:
  http://wiki.oauth.net/ServiceProviders
12/29/12              IETF #79, OAuth Tutorial Beijing       19
History, cont.
• 1st OAuth BOF (Minneapolis, November 2008, IETF#73)
     – BOF Chairs: Sam Hartman, Mark Nottingham
     – BOF went OK but a couple of charter questions couldn’t be resolved.
• 2nd OAuth BOF (San Francisco, March 2009, IETF#74)
     – BOF Chairs: Hannes Tschofenig, Blaine Cook
     – Charter discussed on the mailing list and also during the meeting. Finalized
        shortly after the meeting
• IETF wide review of the OAuth charter text (28 th April 2009)
     – Announcement: http://www.ietf.org/mail-archive/web/ietf-
        announce/current/msg06009.html
• OAuth working group was created (May 2009)
     – Chairs: Blaine Cook, Peter Saint Andre
•   Feb 2010: 'The OAuth 1.0 Protocol ‘ approved as Informational RFC:
     –
12/29/12 http://www.ietf.org/mail-archive/web/ietf-announce/current/msg07047.html
                                  IETF #79, OAuth Tutorial Beijing                    20
History, cont.
•   March 2010: Peter Saint Andre became Area Director and Hannes Tschofenig
    became Blaine’s co-chair.
•   March 2010: IETF OAuth meeting in Anaheim
•   April 2010: OAuth 2.0 <draft-ietf-oauth-v2-00.txt> published co-authored by Eran,
    Dick, David.
•   May 2010: First OAuth interim meeting co-located with IIW to discuss open issues.
•   July 2010: Maastricht IETF meeting
•   November 2010: Document split into “abstract” specification and separate bearer
    token and message signing specification.
•   November 2010: Beijing IETF meeting – no official OAuth working group meeting.
    Discussions about security for OAuth

12/29/12                        IETF #79, OAuth Tutorial Beijing                    21
Entities

                                                           User Agent
                     Authorization Request                                       User


 Resource Consumer
                       Token request                      Authorization Server




                     Access Request
                     (incl. Token)                         Resource Server


12/29/12               IETF #79, OAuth Tutorial Beijing                          22
Scope of the OAuth WG
• Currently only one working group item:
    – http://tools.ietf.org/html/draft-ietf-oauth-v2
    – Unlike OAuth v1.0 it does not contain signature
      mechanisms
• We have a punch of other documents as individual
  items
    –    Providing security related extensions
    –    User interface considerations
    –    Token formats
    –    Token by reference
    –    Use case descriptions
    –    Other OAuth profiles OAuth Tutorial Beijing
12/29/12                  IETF #79,                     23
Work Areas
                                                                    User Interface
                                                           User Agent
                       Authentication
                     Authorization Request                                      User


 Resource Consumer      Token Format
                     Token Request
                        And Content                   Authorization Server


                                                            Authz Server
                      Data Exchange
                                                            Interaction
                     Access Request
                     (incl. Token)                         Resource Server
                       Request Security

OAuth Profiles
 12/29/12               IETF #79, OAuth Tutorial Beijing                        24
Web Server Flow
12/29/12   IETF #79, OAuth Tutorial Beijing   26
A little bit about OAuth security…




          Se curity
Work Areas
                                                                     User Interface
                                                           User Agent
                       Authentication
                     Authorization Request                                       User


 Resource Consumer
                     Token Request
                                                      Authorization Server


                                                            Authz Server
                      Data Exchange
                                                            Interaction
                     Access Request
                     (incl. Token)                         Resource Server

OAuth Profiles
 12/29/12               IETF #79, OAuth Tutorial Beijing                         28
“Bearer Token”
                  Authorization
                  Server
       Request
                  Token
            TLS

Resource          Token       Resource
Consumer          TLS
                              Server
“Message Signing”
                   Authorization
                   Server
       Request
                Token,SK,
            TLS
                {SK}Bob

Resource                       Resource
Consumer   Token,              Server
           {Request}SK,
           {SK}Bob
Conclusion
• Open Web Authentication (OAuth) is developed in
  the IETF to provide delegated authentication for
  Web-based environments.
     – Usage for non-Web based applications has been proposed
       as well.
• Work is in progress and re-chartering will expand the
  work to include new features and use cases as well
  as security.
• Join the OAuth mailing list at
  http://datatracker.ietf.org/wg/oauth/charter/ to
  make your contribution.
12/29/12               IETF #79, OAuth Tutorial Beijing     31
Backup Slides




12/29/12    IETF #79, OAuth Tutorial Beijing   32
JavaScript Flow
(User Agent Flow in Draft)
12/29/12   IETF #79, OAuth Tutorial Beijing   34
Native Application Flow
12/29/12   IETF #79, OAuth Tutorial Beijing   36
Autonomous Flow
12/29/12   IETF #79, OAuth Tutorial Beijing   38
Device Flow
12/29/12   IETF #79, OAuth Tutorial Beijing   40
12/29/12   IETF #79, OAuth Tutorial Beijing   41

More Related Content

Similar to Oauth tutorial

Web API 2 Token Based Authentication
Web API 2 Token Based AuthenticationWeb API 2 Token Based Authentication
Web API 2 Token Based Authentication
jeremysbrown
 
Introduction to OAuth
Introduction to OAuthIntroduction to OAuth
Introduction to OAuthWei-Tsung Su
 
OAuth - Don’t Throw the Baby Out with the Bathwater
OAuth - Don’t Throw the Baby Out with the Bathwater OAuth - Don’t Throw the Baby Out with the Bathwater
OAuth - Don’t Throw the Baby Out with the Bathwater Apigee | Google Cloud
 
CIS13: Bootcamp: Ping Identity OAuth and OpenID Connect In Action with PingFe...
CIS13: Bootcamp: Ping Identity OAuth and OpenID Connect In Action with PingFe...CIS13: Bootcamp: Ping Identity OAuth and OpenID Connect In Action with PingFe...
CIS13: Bootcamp: Ping Identity OAuth and OpenID Connect In Action with PingFe...
CloudIDSummit
 
OAuth2 on Ericsson Labs
OAuth2 on Ericsson LabsOAuth2 on Ericsson Labs
OAuth2 on Ericsson Labs
Ericsson Labs
 
Oauth
OauthOauth
Oauth
ehuard
 
OAuth
OAuthOAuth
AllTheTalks.Online 2020: "Basics of OAuth 2.0 and OpenID Connect"
AllTheTalks.Online 2020: "Basics of OAuth 2.0 and OpenID Connect"AllTheTalks.Online 2020: "Basics of OAuth 2.0 and OpenID Connect"
AllTheTalks.Online 2020: "Basics of OAuth 2.0 and OpenID Connect"
Andreas Falk
 
Twitter Authentication
Twitter AuthenticationTwitter Authentication
Twitter AuthenticationVishal Shah
 
Adding Identity Management and Access Control to your App
Adding Identity Management and Access Control to your AppAdding Identity Management and Access Control to your App
Adding Identity Management and Access Control to your App
FIWARE
 
ietf oauth proof-of-possession.ppt sdfsdfs
ietf oauth proof-of-possession.ppt sdfsdfsietf oauth proof-of-possession.ppt sdfsdfs
ietf oauth proof-of-possession.ppt sdfsdfs
DucAnhLe56
 
Keystone - Openstack Identity Service
Keystone - Openstack Identity Service Keystone - Openstack Identity Service
Keystone - Openstack Identity Service
Prasad Mukhedkar
 
Adding identity management and access control to your app
Adding identity management and access control to your appAdding identity management and access control to your app
Adding identity management and access control to your app
Álvaro Alonso González
 
Oauth2.0
Oauth2.0Oauth2.0
Oauth2.0
Yasmine Gaber
 
OAuth 2.0 Updates #technight in Osaka
OAuth 2.0 Updates #technight in OsakaOAuth 2.0 Updates #technight in Osaka
OAuth 2.0 Updates #technight in OsakaNov Matake
 
Take the spaghetti out of windows azure – an insight for it pro techies part 2
Take the spaghetti out of windows azure – an insight for it pro techies part 2Take the spaghetti out of windows azure – an insight for it pro techies part 2
Take the spaghetti out of windows azure – an insight for it pro techies part 2
Microsoft TechNet - Belgium and Luxembourg
 
Demystifying OAuth 2.0
Demystifying OAuth 2.0Demystifying OAuth 2.0
Demystifying OAuth 2.0
Yury Roa
 
170724 JP/UK Open Banking Summit English Translation
170724 JP/UK Open Banking Summit English Translation170724 JP/UK Open Banking Summit English Translation
170724 JP/UK Open Banking Summit English Translation
Nat Sakimura
 
New Trends in Web Security
New Trends in Web SecurityNew Trends in Web Security
New Trends in Web Security
Oliver Pfaff
 
FIWARE Global Summit - Adding Identity Management, Access Control and API Man...
FIWARE Global Summit - Adding Identity Management, Access Control and API Man...FIWARE Global Summit - Adding Identity Management, Access Control and API Man...
FIWARE Global Summit - Adding Identity Management, Access Control and API Man...
FIWARE
 

Similar to Oauth tutorial (20)

Web API 2 Token Based Authentication
Web API 2 Token Based AuthenticationWeb API 2 Token Based Authentication
Web API 2 Token Based Authentication
 
Introduction to OAuth
Introduction to OAuthIntroduction to OAuth
Introduction to OAuth
 
OAuth - Don’t Throw the Baby Out with the Bathwater
OAuth - Don’t Throw the Baby Out with the Bathwater OAuth - Don’t Throw the Baby Out with the Bathwater
OAuth - Don’t Throw the Baby Out with the Bathwater
 
CIS13: Bootcamp: Ping Identity OAuth and OpenID Connect In Action with PingFe...
CIS13: Bootcamp: Ping Identity OAuth and OpenID Connect In Action with PingFe...CIS13: Bootcamp: Ping Identity OAuth and OpenID Connect In Action with PingFe...
CIS13: Bootcamp: Ping Identity OAuth and OpenID Connect In Action with PingFe...
 
OAuth2 on Ericsson Labs
OAuth2 on Ericsson LabsOAuth2 on Ericsson Labs
OAuth2 on Ericsson Labs
 
Oauth
OauthOauth
Oauth
 
OAuth
OAuthOAuth
OAuth
 
AllTheTalks.Online 2020: "Basics of OAuth 2.0 and OpenID Connect"
AllTheTalks.Online 2020: "Basics of OAuth 2.0 and OpenID Connect"AllTheTalks.Online 2020: "Basics of OAuth 2.0 and OpenID Connect"
AllTheTalks.Online 2020: "Basics of OAuth 2.0 and OpenID Connect"
 
Twitter Authentication
Twitter AuthenticationTwitter Authentication
Twitter Authentication
 
Adding Identity Management and Access Control to your App
Adding Identity Management and Access Control to your AppAdding Identity Management and Access Control to your App
Adding Identity Management and Access Control to your App
 
ietf oauth proof-of-possession.ppt sdfsdfs
ietf oauth proof-of-possession.ppt sdfsdfsietf oauth proof-of-possession.ppt sdfsdfs
ietf oauth proof-of-possession.ppt sdfsdfs
 
Keystone - Openstack Identity Service
Keystone - Openstack Identity Service Keystone - Openstack Identity Service
Keystone - Openstack Identity Service
 
Adding identity management and access control to your app
Adding identity management and access control to your appAdding identity management and access control to your app
Adding identity management and access control to your app
 
Oauth2.0
Oauth2.0Oauth2.0
Oauth2.0
 
OAuth 2.0 Updates #technight in Osaka
OAuth 2.0 Updates #technight in OsakaOAuth 2.0 Updates #technight in Osaka
OAuth 2.0 Updates #technight in Osaka
 
Take the spaghetti out of windows azure – an insight for it pro techies part 2
Take the spaghetti out of windows azure – an insight for it pro techies part 2Take the spaghetti out of windows azure – an insight for it pro techies part 2
Take the spaghetti out of windows azure – an insight for it pro techies part 2
 
Demystifying OAuth 2.0
Demystifying OAuth 2.0Demystifying OAuth 2.0
Demystifying OAuth 2.0
 
170724 JP/UK Open Banking Summit English Translation
170724 JP/UK Open Banking Summit English Translation170724 JP/UK Open Banking Summit English Translation
170724 JP/UK Open Banking Summit English Translation
 
New Trends in Web Security
New Trends in Web SecurityNew Trends in Web Security
New Trends in Web Security
 
FIWARE Global Summit - Adding Identity Management, Access Control and API Man...
FIWARE Global Summit - Adding Identity Management, Access Control and API Man...FIWARE Global Summit - Adding Identity Management, Access Control and API Man...
FIWARE Global Summit - Adding Identity Management, Access Control and API Man...
 

More from 乐费 胡

神仙道移动Ui演变
神仙道移动Ui演变神仙道移动Ui演变
神仙道移动Ui演变
乐费 胡
 
10 multi-platform game development using cocos2d-x
10   multi-platform game development using cocos2d-x10   multi-platform game development using cocos2d-x
10 multi-platform game development using cocos2d-x乐费 胡
 
09 creating windows phone game with cocos2d-xna
09   creating windows phone game with cocos2d-xna09   creating windows phone game with cocos2d-xna
09 creating windows phone game with cocos2d-xna
乐费 胡
 
08 gaming framework design based on cocos2d-x
08   gaming framework design based on cocos2d-x08   gaming framework design based on cocos2d-x
08 gaming framework design based on cocos2d-x
乐费 胡
 
07 funny sango td and cocos2d-x
07   funny sango td and cocos2d-x07   funny sango td and cocos2d-x
07 funny sango td and cocos2d-x
乐费 胡
 
06 html5 and cocos2d-x
06   html5 and cocos2d-x06   html5 and cocos2d-x
06 html5 and cocos2d-x
乐费 胡
 
05 optimization of cocos2d-x games on x86 architecture
05   optimization of cocos2d-x games on x86 architecture05   optimization of cocos2d-x games on x86 architecture
05 optimization of cocos2d-x games on x86 architecture
乐费 胡
 
04 growing up with the open source community
04   growing up with the open source community04   growing up with the open source community
04 growing up with the open source community
乐费 胡
 
03 crazy castle meets cocos2d-x
03   crazy castle meets cocos2d-x03   crazy castle meets cocos2d-x
03 crazy castle meets cocos2d-x
乐费 胡
 
02 evolution innovation and participation
02   evolution innovation and participation02   evolution innovation and participation
02 evolution innovation and participation
乐费 胡
 
01 cocos2d past, present and future
01   cocos2d past, present and future01   cocos2d past, present and future
01 cocos2d past, present and future
乐费 胡
 
11 share experience on porting 3 kingdoms td legned of shu
11   share experience on porting 3 kingdoms td legned of shu11   share experience on porting 3 kingdoms td legned of shu
11 share experience on porting 3 kingdoms td legned of shu乐费 胡
 
Web并发模型粗浅探讨v3
Web并发模型粗浅探讨v3Web并发模型粗浅探讨v3
Web并发模型粗浅探讨v3乐费 胡
 
[.产品设计与用户体验(马化腾)
[.产品设计与用户体验(马化腾)[.产品设计与用户体验(马化腾)
[.产品设计与用户体验(马化腾)乐费 胡
 

More from 乐费 胡 (14)

神仙道移动Ui演变
神仙道移动Ui演变神仙道移动Ui演变
神仙道移动Ui演变
 
10 multi-platform game development using cocos2d-x
10   multi-platform game development using cocos2d-x10   multi-platform game development using cocos2d-x
10 multi-platform game development using cocos2d-x
 
09 creating windows phone game with cocos2d-xna
09   creating windows phone game with cocos2d-xna09   creating windows phone game with cocos2d-xna
09 creating windows phone game with cocos2d-xna
 
08 gaming framework design based on cocos2d-x
08   gaming framework design based on cocos2d-x08   gaming framework design based on cocos2d-x
08 gaming framework design based on cocos2d-x
 
07 funny sango td and cocos2d-x
07   funny sango td and cocos2d-x07   funny sango td and cocos2d-x
07 funny sango td and cocos2d-x
 
06 html5 and cocos2d-x
06   html5 and cocos2d-x06   html5 and cocos2d-x
06 html5 and cocos2d-x
 
05 optimization of cocos2d-x games on x86 architecture
05   optimization of cocos2d-x games on x86 architecture05   optimization of cocos2d-x games on x86 architecture
05 optimization of cocos2d-x games on x86 architecture
 
04 growing up with the open source community
04   growing up with the open source community04   growing up with the open source community
04 growing up with the open source community
 
03 crazy castle meets cocos2d-x
03   crazy castle meets cocos2d-x03   crazy castle meets cocos2d-x
03 crazy castle meets cocos2d-x
 
02 evolution innovation and participation
02   evolution innovation and participation02   evolution innovation and participation
02 evolution innovation and participation
 
01 cocos2d past, present and future
01   cocos2d past, present and future01   cocos2d past, present and future
01 cocos2d past, present and future
 
11 share experience on porting 3 kingdoms td legned of shu
11   share experience on porting 3 kingdoms td legned of shu11   share experience on porting 3 kingdoms td legned of shu
11 share experience on porting 3 kingdoms td legned of shu
 
Web并发模型粗浅探讨v3
Web并发模型粗浅探讨v3Web并发模型粗浅探讨v3
Web并发模型粗浅探讨v3
 
[.产品设计与用户体验(马化腾)
[.产品设计与用户体验(马化腾)[.产品设计与用户体验(马化腾)
[.产品设计与用户体验(马化腾)
 

Recently uploaded

State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
Product School
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
Product School
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
Product School
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Ramesh Iyer
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Product School
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
g2nightmarescribd
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
Elena Simperl
 

Recently uploaded (20)

State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 

Oauth tutorial

  • 1. Hannes Tschofenig, Blaine Cook (IETF#79, Beijing)
  • 2. Acknowledgements • I would like to thank to Pasi Eronen. We are re-using some of his slides in this presentation. 12/29/12 IETF #79, OAuth Tutorial Beijing 2
  • 3. The Problem: Secure Data Sharing 12/29/12 IETF #79, OAuth Tutorial Beijing 3
  • 4. 12/29/12 IETF #79, OAuth Tutorial Beijing 4
  • 5. Example OAuth Exchange 12/29/12 IETF #79, OAuth Tutorial Beijing 5
  • 6. Entities User Agent (Web Browser) Authorization Request User Resource Consumer (LinkedIn) Token request Authorization Server (Yahoo) Access Request (incl. Token) Resource Server (Yahoo) 12/29/12 IETF #79, OAuth Tutorial Beijing 6
  • 7. User navigates to Resource Client 12/29/12 IETF #79, OAuth Tutorial Beijing 7
  • 8. User authenticated by Authorization Server 12/29/12 IETF #79, OAuth Tutorial Beijing 8
  • 9. User authorizes Resource Consumer to access Resource Server 12/29/12 IETF #79, OAuth Tutorial Beijing 9
  • 10. Resource Client calls the Resource Server API 12/29/12 IETF #79, OAuth Tutorial Beijing 10
  • 11. Remark: Authentication • Yahoo in our example may outside the authentication part to other providers (e.g. using OpenID). • Authorization Server and Resource Server do not need to be operated by the same entity. 12/29/12 IETF #79, OAuth Tutorial Beijing 11
  • 12. Remark: Authorization • Asking the user for consent prior to share information is considered privacy-friendly. • User interfaces for obtaining user content may not always be great. 12/29/12 IETF #79, OAuth Tutorial Beijing 12
  • 13. Remark: Authorization, cont. 12/29/12 IETF #79, OAuth Tutorial Beijing 13
  • 15. Remark: Authorization, cont. 12/29/12 IETF #79, OAuth Tutorial Beijing 15
  • 16. Remark: Prior-Registration • Many Resource Server require registration of Resource Client’s prior to usage. • Example: http://developer.cliqset.com/api 12/29/12 IETF #79, OAuth Tutorial Beijing 16
  • 17. Remark, cont. 12/29/12 IETF #79, OAuth Tutorial Beijing 17
  • 18. History 12/29/12 IETF #79, OAuth Tutorial Beijing 18
  • 19. History • November 2006: Blaine Cook was looking into the possibility of using OpenID to accomplish the functionality for delegated authentication. He got in touch with some other folks that had a similar need. • December 2006: Blaine wrote a "reference implementation" for Twitter based on all the existing OAuth-patterned APIs, which Blaine and Kellan Elliott-McCrea turned into a rough functional draft • April 2007: Google group was created with a small group of implementers to write a proposal for an open protocol. • July 2007: OAuth 1.0 (with code for major programming languages) • September 2007: Re-write of specification to focus on a single flow (instead of "web", "mobile", and "desktop" flows) • Deployment of OAuth well on it’s way: http://wiki.oauth.net/ServiceProviders 12/29/12 IETF #79, OAuth Tutorial Beijing 19
  • 20. History, cont. • 1st OAuth BOF (Minneapolis, November 2008, IETF#73) – BOF Chairs: Sam Hartman, Mark Nottingham – BOF went OK but a couple of charter questions couldn’t be resolved. • 2nd OAuth BOF (San Francisco, March 2009, IETF#74) – BOF Chairs: Hannes Tschofenig, Blaine Cook – Charter discussed on the mailing list and also during the meeting. Finalized shortly after the meeting • IETF wide review of the OAuth charter text (28 th April 2009) – Announcement: http://www.ietf.org/mail-archive/web/ietf- announce/current/msg06009.html • OAuth working group was created (May 2009) – Chairs: Blaine Cook, Peter Saint Andre • Feb 2010: 'The OAuth 1.0 Protocol ‘ approved as Informational RFC: – 12/29/12 http://www.ietf.org/mail-archive/web/ietf-announce/current/msg07047.html IETF #79, OAuth Tutorial Beijing 20
  • 21. History, cont. • March 2010: Peter Saint Andre became Area Director and Hannes Tschofenig became Blaine’s co-chair. • March 2010: IETF OAuth meeting in Anaheim • April 2010: OAuth 2.0 <draft-ietf-oauth-v2-00.txt> published co-authored by Eran, Dick, David. • May 2010: First OAuth interim meeting co-located with IIW to discuss open issues. • July 2010: Maastricht IETF meeting • November 2010: Document split into “abstract” specification and separate bearer token and message signing specification. • November 2010: Beijing IETF meeting – no official OAuth working group meeting. Discussions about security for OAuth 12/29/12 IETF #79, OAuth Tutorial Beijing 21
  • 22. Entities User Agent Authorization Request User Resource Consumer Token request Authorization Server Access Request (incl. Token) Resource Server 12/29/12 IETF #79, OAuth Tutorial Beijing 22
  • 23. Scope of the OAuth WG • Currently only one working group item: – http://tools.ietf.org/html/draft-ietf-oauth-v2 – Unlike OAuth v1.0 it does not contain signature mechanisms • We have a punch of other documents as individual items – Providing security related extensions – User interface considerations – Token formats – Token by reference – Use case descriptions – Other OAuth profiles OAuth Tutorial Beijing 12/29/12 IETF #79, 23
  • 24. Work Areas User Interface User Agent Authentication Authorization Request User Resource Consumer Token Format Token Request And Content Authorization Server Authz Server Data Exchange Interaction Access Request (incl. Token) Resource Server Request Security OAuth Profiles 12/29/12 IETF #79, OAuth Tutorial Beijing 24
  • 26. 12/29/12 IETF #79, OAuth Tutorial Beijing 26
  • 27. A little bit about OAuth security… Se curity
  • 28. Work Areas User Interface User Agent Authentication Authorization Request User Resource Consumer Token Request Authorization Server Authz Server Data Exchange Interaction Access Request (incl. Token) Resource Server OAuth Profiles 12/29/12 IETF #79, OAuth Tutorial Beijing 28
  • 29. “Bearer Token” Authorization Server Request Token TLS Resource Token Resource Consumer TLS Server
  • 30. “Message Signing” Authorization Server Request Token,SK, TLS {SK}Bob Resource Resource Consumer Token, Server {Request}SK, {SK}Bob
  • 31. Conclusion • Open Web Authentication (OAuth) is developed in the IETF to provide delegated authentication for Web-based environments. – Usage for non-Web based applications has been proposed as well. • Work is in progress and re-chartering will expand the work to include new features and use cases as well as security. • Join the OAuth mailing list at http://datatracker.ietf.org/wg/oauth/charter/ to make your contribution. 12/29/12 IETF #79, OAuth Tutorial Beijing 31
  • 32. Backup Slides 12/29/12 IETF #79, OAuth Tutorial Beijing 32
  • 33. JavaScript Flow (User Agent Flow in Draft)
  • 34. 12/29/12 IETF #79, OAuth Tutorial Beijing 34
  • 36. 12/29/12 IETF #79, OAuth Tutorial Beijing 36
  • 38. 12/29/12 IETF #79, OAuth Tutorial Beijing 38
  • 40. 12/29/12 IETF #79, OAuth Tutorial Beijing 40
  • 41. 12/29/12 IETF #79, OAuth Tutorial Beijing 41