SlideShare a Scribd company logo
pingidentity.com
CONSOLIDATING
AUTHENTICATION AND
API AUTHORIZATION USING
OPENID CONNECT
John Bradley
Copyright © 2014 Ping Identity Corp.All rights reserved. 2Confidential — do not distribute
SAML
SOAP WS-*
SAML
Web SSO
SAML
SOAP WS-*
Typical SAML Deployment model
Confidential — do not distribute Copyright © 2014 Ping Identity Corp.All rights reserved. 3
Typical SAML Deployment model
Confidential — do not distribute Copyright © 2014 Ping Identity Corp.All rights reserved. 4
• Two flows
– One using Web SSO for Authentication.
– One call to a STS to exchange authentication token for
security token.
– Typically no user consent.
– Not mobile friendly.
OpenID Connect
OpenID Connect Deployment model
Confidential — do not distribute Copyright © 2014 Ping Identity Corp.All rights reserved. 5
OAuth 2
OpenID Connect Deployment model
Confidential — do not distribute Copyright © 2014 Ping Identity Corp.All rights reserved. 6
• Single flow
– One request returns both Identity Assertion and security
token for access.
– Opportunity for user consent for API and login in a
single interface.
– Mobile/REST friendly.
Connect Rolls
Confidential — do not distribute Copyright © 2014 Ping Identity Corp.All rights reserved. 7
• Authorization Server (IdP)
– Authorization endpoint
– Token endpoint
• Client (SP)
• Resource Server (API)
Authentication & Authorization request
Confidential — do not distribute Copyright © 2014 Ping Identity Corp.All rights reserved. 8
• The basic OAuth Authorization request contains a list
of scopes (resources) that the client is requesting
access to.
• Connect adds a single scope to the request called
“openid” that causes the Identity assertion to be
returned.
Authorization Response
Confidential — do not distribute Copyright © 2014 Ping Identity Corp.All rights reserved. 9
• The Authorization server response is standard OAuth
• The Authorization server returns a single use artifact
called a code.
• This prevents PII leakage via the browser, and
prevents large redirect URI that cause problems in
some browsers.
Request for tokens
Confidential — do not distribute Copyright © 2014 Ping Identity Corp.All rights reserved. 10
• The client uses its credentials to make a direct
authenticated request to the Authorization Server
with the code received from the Authorization server
via the users browser.
• This is a simple http POST request.
• This request is standard OAuth.
Token Response
Confidential — do not distribute Copyright © 2014 Ping Identity Corp.All rights reserved. 11
• Standard OAuth response containing
– Refresh Token
– Access Token
– JWT id_token (Connect extension to OAuth)
Identity Assertion
Confidential — do not distribute Copyright © 2014 Ping Identity Corp.All rights reserved. 12
• JWT Contains
–  Audience
–  Issuer
–  Subject
–  Issued At
–  Expiry
–  Other optional claims like Authentication context.
Refresh Token
Confidential — do not distribute Copyright © 2014 Ping Identity Corp.All rights reserved. 13
• Used to make additional requests for access tokens.
– Allows access tokens to be short lived.
– Allows Authorization server to revoke API access by not
granting new access tokens.
– Revoked refresh tokens cause the client to attempt
reauthorization by the Resource owner (user).
Access Token
Confidential — do not distribute Copyright © 2014 Ping Identity Corp.All rights reserved. 14
• The token is added to REST calls to a Resource
server’s API.
– The token can be a signed JWT
– The token can be opaque and introspected via callback
to the Authorization server.
Delta between Oauth 2 and Connect
to add basic Authentication
Confidential — do not distribute Copyright © 2014 Ping Identity Corp.All rights reserved. 15
• One additional scope requested “openID”
• One additional parameter returned id_token.
Native Applications
Confidential — do not distribute Copyright © 2014 Ping Identity Corp.All rights reserved. 16
• Many social native applications use the id_token
from a login at google to authenticate to their own
API.
Using the id_token as an assertion
Confidential — do not distribute Copyright © 2014 Ping Identity Corp.All rights reserved. 17
Native App
Authorization
server
App API Server
AS Resource
Server
Request
Access and ID Tokens
Access Token
ID Token
NAPPS
Confidential — do not distribute Copyright © 2014 Ping Identity Corp.All rights reserved. 18
Token Agent
Authorization
server
App API Server
AS Resource
Server
Authentication Request
Refresh Token
Access Token
ID Token
Native App
Request
Token Request
Access & ID Tokens
Access & ID Tokens
QUESTIONS?
John Bradley @ve7jtb
Confidential — do not distribute Copyright © 2014 Ping Identity Corp.All rights reserved. 19

More Related Content

PDF
Single Sign On with OAuth and OpenID
PPTX
CIS 2012 - Going Mobile with PingFederate and OAuth 2
PDF
CIS 2015 OpenID Connect and Mobile Applications - David Chase
PDF
CIS13: Bootcamp: Ping Identity OAuth and OpenID Connect In Action with PingFe...
PPTX
Mit 2014 introduction to open id connect and o-auth 2
PPTX
Workshop: Advanced Federation Use-Cases with PingFederate
PPTX
OAuth 2.0 and Mobile Devices: Is that a token in your phone in your pocket or...
PPTX
OpenID Connect and Single Sign-On for Beginners
Single Sign On with OAuth and OpenID
CIS 2012 - Going Mobile with PingFederate and OAuth 2
CIS 2015 OpenID Connect and Mobile Applications - David Chase
CIS13: Bootcamp: Ping Identity OAuth and OpenID Connect In Action with PingFe...
Mit 2014 introduction to open id connect and o-auth 2
Workshop: Advanced Federation Use-Cases with PingFederate
OAuth 2.0 and Mobile Devices: Is that a token in your phone in your pocket or...
OpenID Connect and Single Sign-On for Beginners

What's hot (20)

PDF
OpenID Connect: The new standard for connecting to your Customers, Partners, ...
PPTX
Securing your APIs with OAuth, OpenID, and OpenID Connect
PPTX
An Authentication and Authorization Architecture for a Microservices World
PDF
OpenID Connect Explained
PDF
CIS13: Introduction to OAuth 2.0
PPT
OAuth 2.0 and OpenId Connect
PDF
CIS14: Working with OAuth and OpenID Connect
PDF
OpenID Connect - An Emperor or Just New Cloths?
PPTX
OpenID Connect 1.0 Explained
PDF
OAuth 2.0 & OpenID Connect @ OpenSource Conference 2011 Tokyo #osc11tk
PPTX
Single-Page-Application & REST security
PPTX
Why Assertion-based Access Token is preferred to Handle-based one?
PDF
Enterprise Single Sign On
PDF
Authentication and Authorization Architecture in the MEAN Stack
PPTX
OAuth2 & OpenID Connect
PDF
Spring security oauth2
PPTX
OpenID Connect: An Overview
PPTX
Enabling Cloud Native Security with OAuth2 and Multi-Tenant UAA
KEY
OpenID vs OAuth - Identity on the Web
PPTX
JWT SSO Inbound Authenticator
OpenID Connect: The new standard for connecting to your Customers, Partners, ...
Securing your APIs with OAuth, OpenID, and OpenID Connect
An Authentication and Authorization Architecture for a Microservices World
OpenID Connect Explained
CIS13: Introduction to OAuth 2.0
OAuth 2.0 and OpenId Connect
CIS14: Working with OAuth and OpenID Connect
OpenID Connect - An Emperor or Just New Cloths?
OpenID Connect 1.0 Explained
OAuth 2.0 & OpenID Connect @ OpenSource Conference 2011 Tokyo #osc11tk
Single-Page-Application & REST security
Why Assertion-based Access Token is preferred to Handle-based one?
Enterprise Single Sign On
Authentication and Authorization Architecture in the MEAN Stack
OAuth2 & OpenID Connect
Spring security oauth2
OpenID Connect: An Overview
Enabling Cloud Native Security with OAuth2 and Multi-Tenant UAA
OpenID vs OAuth - Identity on the Web
JWT SSO Inbound Authenticator
Ad

Similar to CIS14: Consolidating Authorization for API and Web SSO using OpenID Connect (20)

PDF
The “I” in API is for Identity (Nordic APIS April 2014)
PDF
Who’s Knocking? Identity for APIs, Web and Mobile
PPTX
Securing ap is oauth and fine grained access control
PDF
CIS 2015 Extreme OAuth - Paul Meyer
PDF
Identity for IoT: An Authentication Framework for the IoT
PPTX
Intro to OAuth2 and OpenID Connect
PDF
CIS 2015 Extreme OpenID Connect - John Bradley
PPTX
Securing APIs with oAuth2
PPTX
Creating a Sign On with Open id connect
PDF
Spring4 security oauth2
PPTX
Configuring Single Sign-On (SSO) via Identity Management | MuleSoft Mysore Me...
PPTX
Managing Identities in the World of APIs
PDF
Spring4 security oauth2
PDF
CIS13: Federation Protocol Cross-Section
PDF
Mobile Authentication - Onboarding, best practices & anti-patterns
PPTX
OAuth2 and OpenID with Spring Boot
PDF
Accessing APIs using OAuth on the federated (WordPress) web
PDF
Stateless Auth using OAuth2 & JWT
PDF
Openstack identity protocols unconference
PDF
Demystifying AuthN/AuthZ Using OIDC & OAuth2
The “I” in API is for Identity (Nordic APIS April 2014)
Who’s Knocking? Identity for APIs, Web and Mobile
Securing ap is oauth and fine grained access control
CIS 2015 Extreme OAuth - Paul Meyer
Identity for IoT: An Authentication Framework for the IoT
Intro to OAuth2 and OpenID Connect
CIS 2015 Extreme OpenID Connect - John Bradley
Securing APIs with oAuth2
Creating a Sign On with Open id connect
Spring4 security oauth2
Configuring Single Sign-On (SSO) via Identity Management | MuleSoft Mysore Me...
Managing Identities in the World of APIs
Spring4 security oauth2
CIS13: Federation Protocol Cross-Section
Mobile Authentication - Onboarding, best practices & anti-patterns
OAuth2 and OpenID with Spring Boot
Accessing APIs using OAuth on the federated (WordPress) web
Stateless Auth using OAuth2 & JWT
Openstack identity protocols unconference
Demystifying AuthN/AuthZ Using OIDC & OAuth2
Ad

More from CloudIDSummit (20)

PPTX
CIS 2016 Content Highlights
PPTX
Top 6 Reasons You Should Attend Cloud Identity Summit 2016
PDF
CIS 2015 Security Without Borders: Taming the Cloud and Mobile Frontier - And...
PDF
Mobile security, identity & authentication reasons for optimism 20150607 v2
PDF
CIS 2015 Mobile Security, Identity & Authentication: Reasons for Optimism - R...
PDF
CIS 2015 Virtual Identity: The Vision, Challenges and Experiences in Driving ...
PDF
CIS 2015 Deploying Strong Authentication to a Global Enterprise: A Comedy in ...
PDF
CIS 2015 Without Great Security, Digital Identity is Not Worth the Electrons ...
PDF
CIS 2015 Mergers & Acquisitions in a Cloud Enabled World - Brian Puhl
PDF
CIS 2015 IoT and IDM in your Mobile Enterprise - Brian Katz
PDF
CIS 2015 Practical Deployments Enterprise Cloud Access Management Platform - ...
PDF
CIS 2015 What I Learned From Pitching IAM To My CIO - Steve Tout
PDF
CIS 2015 How to secure the Internet of Things? Hannes Tschofenig
PDF
CIS 2015 The IDaaS Dating Game - Sean Deuby
PDF
CIS 2015 SSO for Mobile and Web Apps Ashish Jain
PDF
The Industrial Internet, the Identity of Everything and the Industrial Enterp...
PDF
CIS 2015 SAML-IN / SAML-OUT - Scott Tomilson & John Dasilva
PDF
CIS 2015 Session Management at Scale - Scott Tomilson & Jamshid Khosravian
PDF
CIS 2015 So you want to SSO … Scott Tomilson & John Dasilva
PDF
CIS 2015 Identity Relationship Management in the Internet of Things
CIS 2016 Content Highlights
Top 6 Reasons You Should Attend Cloud Identity Summit 2016
CIS 2015 Security Without Borders: Taming the Cloud and Mobile Frontier - And...
Mobile security, identity & authentication reasons for optimism 20150607 v2
CIS 2015 Mobile Security, Identity & Authentication: Reasons for Optimism - R...
CIS 2015 Virtual Identity: The Vision, Challenges and Experiences in Driving ...
CIS 2015 Deploying Strong Authentication to a Global Enterprise: A Comedy in ...
CIS 2015 Without Great Security, Digital Identity is Not Worth the Electrons ...
CIS 2015 Mergers & Acquisitions in a Cloud Enabled World - Brian Puhl
CIS 2015 IoT and IDM in your Mobile Enterprise - Brian Katz
CIS 2015 Practical Deployments Enterprise Cloud Access Management Platform - ...
CIS 2015 What I Learned From Pitching IAM To My CIO - Steve Tout
CIS 2015 How to secure the Internet of Things? Hannes Tschofenig
CIS 2015 The IDaaS Dating Game - Sean Deuby
CIS 2015 SSO for Mobile and Web Apps Ashish Jain
The Industrial Internet, the Identity of Everything and the Industrial Enterp...
CIS 2015 SAML-IN / SAML-OUT - Scott Tomilson & John Dasilva
CIS 2015 Session Management at Scale - Scott Tomilson & Jamshid Khosravian
CIS 2015 So you want to SSO … Scott Tomilson & John Dasilva
CIS 2015 Identity Relationship Management in the Internet of Things

Recently uploaded (20)

PDF
cuic standard and advanced reporting.pdf
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Review of recent advances in non-invasive hemoglobin estimation
PPT
Teaching material agriculture food technology
PPTX
Cloud computing and distributed systems.
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Empathic Computing: Creating Shared Understanding
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Machine learning based COVID-19 study performance prediction
PDF
Encapsulation theory and applications.pdf
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PPTX
Big Data Technologies - Introduction.pptx
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
cuic standard and advanced reporting.pdf
Advanced methodologies resolving dimensionality complications for autism neur...
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Review of recent advances in non-invasive hemoglobin estimation
Teaching material agriculture food technology
Cloud computing and distributed systems.
“AI and Expert System Decision Support & Business Intelligence Systems”
Empathic Computing: Creating Shared Understanding
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
MYSQL Presentation for SQL database connectivity
Machine learning based COVID-19 study performance prediction
Encapsulation theory and applications.pdf
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Building Integrated photovoltaic BIPV_UPV.pdf
Big Data Technologies - Introduction.pptx
Unlocking AI with Model Context Protocol (MCP)
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Mobile App Security Testing_ A Comprehensive Guide.pdf
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx

CIS14: Consolidating Authorization for API and Web SSO using OpenID Connect

  • 2. CONSOLIDATING AUTHENTICATION AND API AUTHORIZATION USING OPENID CONNECT John Bradley Copyright © 2014 Ping Identity Corp.All rights reserved. 2Confidential — do not distribute
  • 3. SAML SOAP WS-* SAML Web SSO SAML SOAP WS-* Typical SAML Deployment model Confidential — do not distribute Copyright © 2014 Ping Identity Corp.All rights reserved. 3
  • 4. Typical SAML Deployment model Confidential — do not distribute Copyright © 2014 Ping Identity Corp.All rights reserved. 4 • Two flows – One using Web SSO for Authentication. – One call to a STS to exchange authentication token for security token. – Typically no user consent. – Not mobile friendly.
  • 5. OpenID Connect OpenID Connect Deployment model Confidential — do not distribute Copyright © 2014 Ping Identity Corp.All rights reserved. 5 OAuth 2
  • 6. OpenID Connect Deployment model Confidential — do not distribute Copyright © 2014 Ping Identity Corp.All rights reserved. 6 • Single flow – One request returns both Identity Assertion and security token for access. – Opportunity for user consent for API and login in a single interface. – Mobile/REST friendly.
  • 7. Connect Rolls Confidential — do not distribute Copyright © 2014 Ping Identity Corp.All rights reserved. 7 • Authorization Server (IdP) – Authorization endpoint – Token endpoint • Client (SP) • Resource Server (API)
  • 8. Authentication & Authorization request Confidential — do not distribute Copyright © 2014 Ping Identity Corp.All rights reserved. 8 • The basic OAuth Authorization request contains a list of scopes (resources) that the client is requesting access to. • Connect adds a single scope to the request called “openid” that causes the Identity assertion to be returned.
  • 9. Authorization Response Confidential — do not distribute Copyright © 2014 Ping Identity Corp.All rights reserved. 9 • The Authorization server response is standard OAuth • The Authorization server returns a single use artifact called a code. • This prevents PII leakage via the browser, and prevents large redirect URI that cause problems in some browsers.
  • 10. Request for tokens Confidential — do not distribute Copyright © 2014 Ping Identity Corp.All rights reserved. 10 • The client uses its credentials to make a direct authenticated request to the Authorization Server with the code received from the Authorization server via the users browser. • This is a simple http POST request. • This request is standard OAuth.
  • 11. Token Response Confidential — do not distribute Copyright © 2014 Ping Identity Corp.All rights reserved. 11 • Standard OAuth response containing – Refresh Token – Access Token – JWT id_token (Connect extension to OAuth)
  • 12. Identity Assertion Confidential — do not distribute Copyright © 2014 Ping Identity Corp.All rights reserved. 12 • JWT Contains –  Audience –  Issuer –  Subject –  Issued At –  Expiry –  Other optional claims like Authentication context.
  • 13. Refresh Token Confidential — do not distribute Copyright © 2014 Ping Identity Corp.All rights reserved. 13 • Used to make additional requests for access tokens. – Allows access tokens to be short lived. – Allows Authorization server to revoke API access by not granting new access tokens. – Revoked refresh tokens cause the client to attempt reauthorization by the Resource owner (user).
  • 14. Access Token Confidential — do not distribute Copyright © 2014 Ping Identity Corp.All rights reserved. 14 • The token is added to REST calls to a Resource server’s API. – The token can be a signed JWT – The token can be opaque and introspected via callback to the Authorization server.
  • 15. Delta between Oauth 2 and Connect to add basic Authentication Confidential — do not distribute Copyright © 2014 Ping Identity Corp.All rights reserved. 15 • One additional scope requested “openID” • One additional parameter returned id_token.
  • 16. Native Applications Confidential — do not distribute Copyright © 2014 Ping Identity Corp.All rights reserved. 16 • Many social native applications use the id_token from a login at google to authenticate to their own API.
  • 17. Using the id_token as an assertion Confidential — do not distribute Copyright © 2014 Ping Identity Corp.All rights reserved. 17 Native App Authorization server App API Server AS Resource Server Request Access and ID Tokens Access Token ID Token
  • 18. NAPPS Confidential — do not distribute Copyright © 2014 Ping Identity Corp.All rights reserved. 18 Token Agent Authorization server App API Server AS Resource Server Authentication Request Refresh Token Access Token ID Token Native App Request Token Request Access & ID Tokens Access & ID Tokens
  • 19. QUESTIONS? John Bradley @ve7jtb Confidential — do not distribute Copyright © 2014 Ping Identity Corp.All rights reserved. 19