SlideShare a Scribd company logo
1 of 28
Download to read offline
An STS for the REST of Us
Brian Campbell
@__b_c
June 2016
OAuth 2.0 Token Exchange
Formalities, Introductions, etc.
•  Long long time @ Ping
–  Product Development & Standards
•  Trolling around CIS with a camera since ’11
–  Presentations contain many gratuitous photos
2
Formalities, Introductions, etc.
•  Not above compromising photos myself
•  Slides will be available
–  No need to take notes
•  Like you were going to anyway…
–  at http://www.slideshare.net/briandavidcampbell
–  & at https://twitter.com/__b_c
•  2 underscores +
•  b +
•  1 underscore +
•  c
•  Tweeting *not* discouraged
–  As long as it’s nice
4
Token Exchange: An RFC in Progress
5
Use Cases
•  Trade one token for another (active clients)
–  Useful in a wide variety of circumstances
•  Access to heterogeneous systems
–  Cross domain and otherwise
–  Client is a ‘client’
–  Microservices!
–  Client is reverse proxy or gateway
•  Chaining, validation, translation, down-scoping, etc.
•  Swiss Army Knife of identity integration
•  Proprietary approaches exist
6
Client
AS/STS
Somehow has a
token
Needs a different
token
What’s in a Name?
7
•  Respectable part of title
•  Says what it is
•  Less respectable part of title
•  A play on the popular Seinfeld episode that
featured “a Festivus for the rest of us”
•  A colon
•  Hope I used it correctly
•  Security Token Service
•  For “active” clients
OAuth 2.0 Token Exchange:An STS for the REST of Us
•  A touch of populist rhetoric
•  But the good kind
•  Okay, not actually RESTful
•  But HTTP & JSON based
•  (Hopefully) more palatable to
contemporary developers
•  SEO keyword
Shall I Compare Thee to a Parody Holiday?
•  Festivus: humorous secular alternative to the commercialism & pressures of
the Christmas holiday season
–  The Festivus Pole
–  The Festivus Dinner
–  The Airing of Grievances
–  The Feats of Strength
–  Festivus Miracles
•  OAuth 2.0 Token Exchange: not really like Festivus
–  But going to force the comparison anyway
8
The Festivus Pole
•  Plain unadorned metal pole
–  Quintessential symbol of the anti-consumerist holiday
–  “Very high strength-to-weight ratio” - Frank Costanza
•  Token Exchange is modest and void of unnecessary layers and options
–  Aspiring to be a symbol of anti-complexity
•  Mostly stayed true to these aspirations
•  “Very high utility-to-complexity ratio” - me
–  Extension of the normal interaction with the OAuth token endpoint
•  request is a simple HTTP POST with form-encoded parameters
•  response is a familiar and easily parsed bit of JSON.
9
utility-to-complexity ratio
Request POST Parameters
•  grant_type
•  resource
•  audience
•  scope
•  requested_token_type
•  subject_token
•  subject_token_type
•  actor_token
•  actor_token_type
•  want_composite
10
JSON Response Parameters
•  access_token
•  issued_token_type
•  token_type
•  expires_in
•  scope
•  refresh_token
Unadorned Example
11
Resource Server
frontend.example.com
AS/STS
as.example.com
Backend Service
backend.example.com
Client
Festivus Dinner
•  Traditional Festivus dinner is meatloaf on a bed of lettuce. Period.
–  No alcohol
•  Token Exchange is much less prescriptive about what gets consumed and
served
–  A few new JWT specific claims allowing for delegation semantics
•  "act" (Actor)
•  "scp" (Scopes)
•  "may_act" (May Act For)
–  The core protocol is token-type agnostic and can be used with all kind of
tokens
12
Festivus Dinner Companions
13
The Airing of Grievances
•  The Airing of Grievances takes place immediately after dinner and
consists of each person lashing out at others about how they have
been disappointed in the past year
•  I was part of the engineering team that added WS-Trust support to
PingFederate years ago
–  Tremendously useful and flexible but a huge PITA
–  I still bear the scars
–  Been requested more than once to tone done my own lashing out in
the document’s Introduction
14
WS-Grievances (Request)
15
WS-Grievances (Request)
16
WS-Grievances (Request)
17
WS-Grievances (Request)
18
WS-Grievances (Request)
19
WS-Grievances (Response)
20
WS-Grievances (Response)
21
WS-Grievances (Response)
22
WS-Grievances (Response)
23
WS-Grievances (Response)
24
The Feats of Strength
•  The head of the household
challenges one person to a
wrestling match and Festivus is not
over until he/she is pinned
25
•  There's been some wrestling over the syntax and semantics of
Token Exchange too
–  The entrenched draft
–  A more ‘OAuthy’ approach
–  So I tried to pick a nerd fight leading up to IETF 93
…and IETF 93 was in Prague
Where in the 1600’s the Hapsburg dynasty displayed the severed heads of leaders of
the Bohemian uprising on the tower as a deterrent to further resistance
A fitting location for The Feats of Strength…
It's a Festivus Miracle!
•  Turns out that no wrestling was
needed
–  Logical respectful discussions
–  Compromises reached
–  Competing approaches unified (in
-03)
•  Looking forward
–  Standards work is inevitably slow
and subject to bumps in the road
–  But seems to be relatively stable
and have generally broad support
–  Implementations… it’s early
–  Can live alongside WS-Trust and
proprietary approaches
27
A more peaceful view of Prague
Questions?

More Related Content

Viewers also liked

Reinforcing Your Enterprise With Security Architectures
Reinforcing Your Enterprise With Security ArchitecturesReinforcing Your Enterprise With Security Architectures
Reinforcing Your Enterprise With Security ArchitecturesUthaiyashankar
 
OpenID Connect - a simple[sic] single sign-on & identity layer on top of OAut...
OpenID Connect - a simple[sic] single sign-on & identity layer on top of OAut...OpenID Connect - a simple[sic] single sign-on & identity layer on top of OAut...
OpenID Connect - a simple[sic] single sign-on & identity layer on top of OAut...Brian Campbell
 
Building IAM for OpenStack
Building IAM for OpenStackBuilding IAM for OpenStack
Building IAM for OpenStackSteve Martinelli
 
Identity and Access Management in the Era of Digital Transformation
Identity and Access Management in the Era of Digital TransformationIdentity and Access Management in the Era of Digital Transformation
Identity and Access Management in the Era of Digital TransformationUthaiyashankar
 
Authorization and Authentication in Microservice Environments
Authorization and Authentication in Microservice EnvironmentsAuthorization and Authentication in Microservice Environments
Authorization and Authentication in Microservice EnvironmentsLeanIX GmbH
 
Introduction to LDAP and Directory Services
Introduction to LDAP and Directory ServicesIntroduction to LDAP and Directory Services
Introduction to LDAP and Directory ServicesRadovan Semancik
 
SSL & TLS Architecture short
SSL & TLS Architecture shortSSL & TLS Architecture short
SSL & TLS Architecture shortAvirot Mitamura
 
SAML / OpenID Connect / OAuth / SCIM 技術解説 - ID&IT 2014 #idit2014
SAML / OpenID Connect / OAuth / SCIM 技術解説  - ID&IT 2014 #idit2014SAML / OpenID Connect / OAuth / SCIM 技術解説  - ID&IT 2014 #idit2014
SAML / OpenID Connect / OAuth / SCIM 技術解説 - ID&IT 2014 #idit2014Nov Matake
 
AWS re:Invent 2016: Serverless Authentication and Authorization: Identity Man...
AWS re:Invent 2016: Serverless Authentication and Authorization: Identity Man...AWS re:Invent 2016: Serverless Authentication and Authorization: Identity Man...
AWS re:Invent 2016: Serverless Authentication and Authorization: Identity Man...Amazon Web Services
 

Viewers also liked (10)

Reinforcing Your Enterprise With Security Architectures
Reinforcing Your Enterprise With Security ArchitecturesReinforcing Your Enterprise With Security Architectures
Reinforcing Your Enterprise With Security Architectures
 
OpenID Connect - a simple[sic] single sign-on & identity layer on top of OAut...
OpenID Connect - a simple[sic] single sign-on & identity layer on top of OAut...OpenID Connect - a simple[sic] single sign-on & identity layer on top of OAut...
OpenID Connect - a simple[sic] single sign-on & identity layer on top of OAut...
 
Building IAM for OpenStack
Building IAM for OpenStackBuilding IAM for OpenStack
Building IAM for OpenStack
 
Identity and Access Management in the Era of Digital Transformation
Identity and Access Management in the Era of Digital TransformationIdentity and Access Management in the Era of Digital Transformation
Identity and Access Management in the Era of Digital Transformation
 
Ldap intro
Ldap introLdap intro
Ldap intro
 
Authorization and Authentication in Microservice Environments
Authorization and Authentication in Microservice EnvironmentsAuthorization and Authentication in Microservice Environments
Authorization and Authentication in Microservice Environments
 
Introduction to LDAP and Directory Services
Introduction to LDAP and Directory ServicesIntroduction to LDAP and Directory Services
Introduction to LDAP and Directory Services
 
SSL & TLS Architecture short
SSL & TLS Architecture shortSSL & TLS Architecture short
SSL & TLS Architecture short
 
SAML / OpenID Connect / OAuth / SCIM 技術解説 - ID&IT 2014 #idit2014
SAML / OpenID Connect / OAuth / SCIM 技術解説  - ID&IT 2014 #idit2014SAML / OpenID Connect / OAuth / SCIM 技術解説  - ID&IT 2014 #idit2014
SAML / OpenID Connect / OAuth / SCIM 技術解説 - ID&IT 2014 #idit2014
 
AWS re:Invent 2016: Serverless Authentication and Authorization: Identity Man...
AWS re:Invent 2016: Serverless Authentication and Authorization: Identity Man...AWS re:Invent 2016: Serverless Authentication and Authorization: Identity Man...
AWS re:Invent 2016: Serverless Authentication and Authorization: Identity Man...
 

More from Brian Campbell

Token Binding Identiverse 2018
Token Binding Identiverse 2018 Token Binding Identiverse 2018
Token Binding Identiverse 2018 Brian Campbell
 
IAM Overview Identiverse 2018
IAM Overview Identiverse 2018IAM Overview Identiverse 2018
IAM Overview Identiverse 2018Brian Campbell
 
Beyond Bearer: Token Binding as the Foundation for a More Secure Web
Beyond Bearer: Token Binding as the Foundation for a More Secure WebBeyond Bearer: Token Binding as the Foundation for a More Secure Web
Beyond Bearer: Token Binding as the Foundation for a More Secure WebBrian Campbell
 
Mobile Single Sign-On (Gluecon '15)
Mobile Single Sign-On (Gluecon '15)Mobile Single Sign-On (Gluecon '15)
Mobile Single Sign-On (Gluecon '15)Brian Campbell
 
I Left My JWT in San JOSE
I Left My JWT in San JOSEI Left My JWT in San JOSE
I Left My JWT in San JOSEBrian Campbell
 
An Introduction to the Emerging JSON-Based Identity and Security Protocols (O...
An Introduction to the Emerging JSON-Based Identity and Security Protocols (O...An Introduction to the Emerging JSON-Based Identity and Security Protocols (O...
An Introduction to the Emerging JSON-Based Identity and Security Protocols (O...Brian Campbell
 
Hope or Hype: A Look at the Next Generation of Identity Standards
Hope or Hype: A Look at the Next Generation of Identity StandardsHope or Hype: A Look at the Next Generation of Identity Standards
Hope or Hype: A Look at the Next Generation of Identity StandardsBrian Campbell
 
Introduction to the Emerging JSON-Based Identity and Security Protocols
Introduction to the Emerging JSON-Based Identity and Security ProtocolsIntroduction to the Emerging JSON-Based Identity and Security Protocols
Introduction to the Emerging JSON-Based Identity and Security ProtocolsBrian Campbell
 
OAuth 2.0 and Mobile Devices: Is that a token in your phone in your pocket or...
OAuth 2.0 and Mobile Devices: Is that a token in your phone in your pocket or...OAuth 2.0 and Mobile Devices: Is that a token in your phone in your pocket or...
OAuth 2.0 and Mobile Devices: Is that a token in your phone in your pocket or...Brian Campbell
 
OAuth 101 & Secure API's - Paul Madsen and Brian Campbell, Ping Identity
OAuth 101 & Secure API's - Paul Madsen and Brian Campbell, Ping IdentityOAuth 101 & Secure API's - Paul Madsen and Brian Campbell, Ping Identity
OAuth 101 & Secure API's - Paul Madsen and Brian Campbell, Ping IdentityBrian Campbell
 

More from Brian Campbell (12)

The Burden of Proof
The Burden of ProofThe Burden of Proof
The Burden of Proof
 
Token Binding Identiverse 2018
Token Binding Identiverse 2018 Token Binding Identiverse 2018
Token Binding Identiverse 2018
 
IAM Overview Identiverse 2018
IAM Overview Identiverse 2018IAM Overview Identiverse 2018
IAM Overview Identiverse 2018
 
Beyond Bearer: Token Binding as the Foundation for a More Secure Web
Beyond Bearer: Token Binding as the Foundation for a More Secure WebBeyond Bearer: Token Binding as the Foundation for a More Secure Web
Beyond Bearer: Token Binding as the Foundation for a More Secure Web
 
Mobile Single Sign-On (Gluecon '15)
Mobile Single Sign-On (Gluecon '15)Mobile Single Sign-On (Gluecon '15)
Mobile Single Sign-On (Gluecon '15)
 
I Left My JWT in San JOSE
I Left My JWT in San JOSEI Left My JWT in San JOSE
I Left My JWT in San JOSE
 
JOSE Can You See...
JOSE Can You See...JOSE Can You See...
JOSE Can You See...
 
An Introduction to the Emerging JSON-Based Identity and Security Protocols (O...
An Introduction to the Emerging JSON-Based Identity and Security Protocols (O...An Introduction to the Emerging JSON-Based Identity and Security Protocols (O...
An Introduction to the Emerging JSON-Based Identity and Security Protocols (O...
 
Hope or Hype: A Look at the Next Generation of Identity Standards
Hope or Hype: A Look at the Next Generation of Identity StandardsHope or Hype: A Look at the Next Generation of Identity Standards
Hope or Hype: A Look at the Next Generation of Identity Standards
 
Introduction to the Emerging JSON-Based Identity and Security Protocols
Introduction to the Emerging JSON-Based Identity and Security ProtocolsIntroduction to the Emerging JSON-Based Identity and Security Protocols
Introduction to the Emerging JSON-Based Identity and Security Protocols
 
OAuth 2.0 and Mobile Devices: Is that a token in your phone in your pocket or...
OAuth 2.0 and Mobile Devices: Is that a token in your phone in your pocket or...OAuth 2.0 and Mobile Devices: Is that a token in your phone in your pocket or...
OAuth 2.0 and Mobile Devices: Is that a token in your phone in your pocket or...
 
OAuth 101 & Secure API's - Paul Madsen and Brian Campbell, Ping Identity
OAuth 101 & Secure API's - Paul Madsen and Brian Campbell, Ping IdentityOAuth 101 & Secure API's - Paul Madsen and Brian Campbell, Ping Identity
OAuth 101 & Secure API's - Paul Madsen and Brian Campbell, Ping Identity
 

Recently uploaded

Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsHyundai Motor Group
 

Recently uploaded (20)

Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
The transition to renewables in India.pdf
The transition to renewables in India.pdfThe transition to renewables in India.pdf
The transition to renewables in India.pdf
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
 

OAuth 2.0 Token Exchange: An STS for the REST of Us

  • 1. An STS for the REST of Us Brian Campbell @__b_c June 2016 OAuth 2.0 Token Exchange
  • 2. Formalities, Introductions, etc. •  Long long time @ Ping –  Product Development & Standards •  Trolling around CIS with a camera since ’11 –  Presentations contain many gratuitous photos 2
  • 3.
  • 4. Formalities, Introductions, etc. •  Not above compromising photos myself •  Slides will be available –  No need to take notes •  Like you were going to anyway… –  at http://www.slideshare.net/briandavidcampbell –  & at https://twitter.com/__b_c •  2 underscores + •  b + •  1 underscore + •  c •  Tweeting *not* discouraged –  As long as it’s nice 4
  • 5. Token Exchange: An RFC in Progress 5
  • 6. Use Cases •  Trade one token for another (active clients) –  Useful in a wide variety of circumstances •  Access to heterogeneous systems –  Cross domain and otherwise –  Client is a ‘client’ –  Microservices! –  Client is reverse proxy or gateway •  Chaining, validation, translation, down-scoping, etc. •  Swiss Army Knife of identity integration •  Proprietary approaches exist 6 Client AS/STS Somehow has a token Needs a different token
  • 7. What’s in a Name? 7 •  Respectable part of title •  Says what it is •  Less respectable part of title •  A play on the popular Seinfeld episode that featured “a Festivus for the rest of us” •  A colon •  Hope I used it correctly •  Security Token Service •  For “active” clients OAuth 2.0 Token Exchange:An STS for the REST of Us •  A touch of populist rhetoric •  But the good kind •  Okay, not actually RESTful •  But HTTP & JSON based •  (Hopefully) more palatable to contemporary developers •  SEO keyword
  • 8. Shall I Compare Thee to a Parody Holiday? •  Festivus: humorous secular alternative to the commercialism & pressures of the Christmas holiday season –  The Festivus Pole –  The Festivus Dinner –  The Airing of Grievances –  The Feats of Strength –  Festivus Miracles •  OAuth 2.0 Token Exchange: not really like Festivus –  But going to force the comparison anyway 8
  • 9. The Festivus Pole •  Plain unadorned metal pole –  Quintessential symbol of the anti-consumerist holiday –  “Very high strength-to-weight ratio” - Frank Costanza •  Token Exchange is modest and void of unnecessary layers and options –  Aspiring to be a symbol of anti-complexity •  Mostly stayed true to these aspirations •  “Very high utility-to-complexity ratio” - me –  Extension of the normal interaction with the OAuth token endpoint •  request is a simple HTTP POST with form-encoded parameters •  response is a familiar and easily parsed bit of JSON. 9
  • 10. utility-to-complexity ratio Request POST Parameters •  grant_type •  resource •  audience •  scope •  requested_token_type •  subject_token •  subject_token_type •  actor_token •  actor_token_type •  want_composite 10 JSON Response Parameters •  access_token •  issued_token_type •  token_type •  expires_in •  scope •  refresh_token
  • 12. Festivus Dinner •  Traditional Festivus dinner is meatloaf on a bed of lettuce. Period. –  No alcohol •  Token Exchange is much less prescriptive about what gets consumed and served –  A few new JWT specific claims allowing for delegation semantics •  "act" (Actor) •  "scp" (Scopes) •  "may_act" (May Act For) –  The core protocol is token-type agnostic and can be used with all kind of tokens 12
  • 14. The Airing of Grievances •  The Airing of Grievances takes place immediately after dinner and consists of each person lashing out at others about how they have been disappointed in the past year •  I was part of the engineering team that added WS-Trust support to PingFederate years ago –  Tremendously useful and flexible but a huge PITA –  I still bear the scars –  Been requested more than once to tone done my own lashing out in the document’s Introduction 14
  • 25. The Feats of Strength •  The head of the household challenges one person to a wrestling match and Festivus is not over until he/she is pinned 25 •  There's been some wrestling over the syntax and semantics of Token Exchange too –  The entrenched draft –  A more ‘OAuthy’ approach –  So I tried to pick a nerd fight leading up to IETF 93
  • 26. …and IETF 93 was in Prague Where in the 1600’s the Hapsburg dynasty displayed the severed heads of leaders of the Bohemian uprising on the tower as a deterrent to further resistance A fitting location for The Feats of Strength…
  • 27. It's a Festivus Miracle! •  Turns out that no wrestling was needed –  Logical respectful discussions –  Compromises reached –  Competing approaches unified (in -03) •  Looking forward –  Standards work is inevitably slow and subject to bumps in the road –  But seems to be relatively stable and have generally broad support –  Implementations… it’s early –  Can live alongside WS-Trust and proprietary approaches 27 A more peaceful view of Prague