SlideShare a Scribd company logo
2
Most read
IBM Confidential
Token OAuth/OIDC/JWT/SAML
shiufun@us.ibm.com
STSM, Security, APIc/GW, Cloud Division
SAML
2	Source : http://www.ibm.com/developerworks/library/ws-SAMLWAS/
OIDC
3	Source : http://openid.net/connect
4	
•  Delegated	
authoriza/on	
•  Permission	:	Allow/
Denied	
•  IETF	RFC	6749	
•  access_token	(RFC6750)	
•  Bearer	*	
•  Vendor	specified	
•  Introspec/on	:	IETF	
RFC	7662	
•  Authen/ca/on	
•  Who	are	you	?	
•  OpenID.net	
•  Extend	OAuth	2.0	with	
user	informa/on	
•  id_token	
•  JSON	Web	Token	(JWT)	
•  Signed	with	JWS	
•  Encrypted	with	JWE	
•  Signed	&	Encrypted	
Protocol : SAML vs OAuth 2.0 vs OpenID
•  Federated	Iden/ty	
•  Who	are	you	?	
•  Permission	:	Allow/
Denied	
•  OASIS/WS-*	
•  SAML	Asser/on	
•  1.0,	1.1,	2.0	
•  XML	based	
•  Signed/Encrypted
[Token] SAML vs access_token (Bearer) vs id_token (JWT)
5	
•  Identity assertion token
•  SAML or id_token (JWT)
•  e.g. ‘WickedPrinterApp’ requires Alice to authenticate successfully
before presenting its service
•  Authorization token
•  SAML or access_token (bearer)
•  e.g. ‘WickedPrinterApp’ can print Alice’s photo if access_token is valid
SAML	:	
<saml:Asser2on	xmlns:…>	
			<saml:Issuer>…</saml:Issuer>	
			<saml:Subject>...</saml:Subject>	
			<saml:Condi2on>...</saml:Condi2on>	
		.....	
</saml:Asser2on>	
	
access_token	:	
HTTP	Header	:	
Authoriza2on:	Bearer	xyzjj….........	
	
Ø  Apply	introspec2on	(RFC	7662)	
against	the	token	:	
{	"ac2ve":true,	"token_type":"bearer",	
"client_id":”spoon-applica2on",	
"username":”shiufun",	"sub":”shiufun",	
"exp":1504323675,	…}	
id_token	:	
HTTP	Header	:	
Authoriza2on:	Bearer	xxx.yyy.zzzz	
	
																						unpacked	into	
{“alg”:”HS256”}.	
{“iss”:”xx”,”sub”:”yy”…}.	
zzzz
[Token] SAML vs access_token (Bearer) vs id_token (JWT)
SAML access_token id_token
XML based (OASIS) Opaque (RFC 6750)
* Binary vs defined
format
JSON Web Token (RFC 7519)
HTTP(s), Payload HTTP(s), Payload HTTP(s), Payload
WS-Security specification Introspection (RFC 7662) JOSE (JWS/JWE)
Web service/WebApp WebApp/Mobile WebApp/Mobile
* SAML for OAuth –
authenticate resource owner
or application
* JWT for OAuth –
authentication resource owner
or client
6
SAML
•  Specifica2on	is	well	established	
•  Confiden2ality/Integrity	
•  How	to	protect	it	during	transit	
•  Replay	?	
•  Condi2on	?	
•  Authen2ca2on/Abribute/Authoriza2on	Statement	
	
hbps://www.oasis-open.org/commibees/download.php/8733/sstc-saml-sec-consider-2.0-drad-05-diff.pdf	
7
OAuth 2.0/OIDC
•  Redirect_uri	
•  Client/applica2on	
•  How	secure	is	its	creden2al	
•  How	to	securely	store	the	permission	
•  *well-behaved*	
•  Applica2on	authen2city	
•  Session	management	of	the	end	user	
•  How	to	authen2cate	the	user		
•  Web	applica2on,	API	applica2on	
•  	follow	the	best	prac2ce	to	prevent	CSRF,	XSS,		Session		
8	
https://tools.ietf.org/html/rfc6819
Transit/local storage
•  TLS/SSL	
•  Who	is	token	being	kept	securely	once	it	is	issued	
•  Token/Session	management	
•  Ttl	==	infinity,	what	could	go	wrong	(?)	
	
9

More Related Content

PDF
Using Postman to Test OAuth/OIDC
PPTX
Json Web Token - JWT
PPTX
Spring security
PDF
OpenID Connect Explained
PDF
OAuth2 and Spring Security
PPT
OAuth 2.0 and OpenId Connect
PDF
Demystifying OAuth 2.0
PDF
OAuth 2.0
Using Postman to Test OAuth/OIDC
Json Web Token - JWT
Spring security
OpenID Connect Explained
OAuth2 and Spring Security
OAuth 2.0 and OpenId Connect
Demystifying OAuth 2.0
OAuth 2.0

What's hot (20)

ODP
OAuth2 - Introduction
PPTX
OpenID Connect: An Overview
PDF
池澤あやかと学ぼう!: はじめてのOAuthとOpenID Connect - JICS 2014
PDF
Stateless Auth using OAuth2 & JWT
PDF
PDF
API Security Best Practices & Guidelines
ODP
Kong API Gateway
PPTX
An introduction to OAuth 2
PPTX
OpenId Connect Protocol
PDF
Future-proofing Authentication with Passkeys
PPTX
Rest API Security
PPTX
An Introduction to OAuth2
PPTX
API Security : Patterns and Practices
PPTX
OAuth2 + API Security
PPTX
Single Sign On 101
PDF
SAML Protocol Overview
PDF
OAuth 2.0 with IBM WebSphere DataPower
PPTX
Introducing Swagger
PDF
Vault 101
PDF
Hacking Adobe Experience Manager sites
OAuth2 - Introduction
OpenID Connect: An Overview
池澤あやかと学ぼう!: はじめてのOAuthとOpenID Connect - JICS 2014
Stateless Auth using OAuth2 & JWT
API Security Best Practices & Guidelines
Kong API Gateway
An introduction to OAuth 2
OpenId Connect Protocol
Future-proofing Authentication with Passkeys
Rest API Security
An Introduction to OAuth2
API Security : Patterns and Practices
OAuth2 + API Security
Single Sign On 101
SAML Protocol Overview
OAuth 2.0 with IBM WebSphere DataPower
Introducing Swagger
Vault 101
Hacking Adobe Experience Manager sites
Ad

Viewers also liked (6)

PDF
Securing the Unsecured: Using SSO and XACML to Protect Your Web Apps
PDF
Lessons Learned From Four Years of API Management Implementation Success at Unum
PDF
IBM Verse On-premises
PDF
OpenID Tutorials
PDF
ICON UK 2014 - Look mum, no passwords!
PPTX
IBM Verse - Presentation
Securing the Unsecured: Using SSO and XACML to Protect Your Web Apps
Lessons Learned From Four Years of API Management Implementation Success at Unum
IBM Verse On-premises
OpenID Tutorials
ICON UK 2014 - Look mum, no passwords!
IBM Verse - Presentation
Ad

Similar to Token, token... From SAML to OIDC (20)

PDF
Openstack identity protocols unconference
PDF
AllTheTalks.Online 2020: "Basics of OAuth 2.0 and OpenID Connect"
PDF
CIS13: Bootcamp: Ping Identity OAuth and OpenID Connect In Action with PingFe...
PDF
ConFoo 2015 - Securing RESTful resources with OAuth2
PPTX
Building Secure User Interfaces With JWTs
PDF
OpenID Connect "101" Introduction -- October 23, 2018
PDF
Securing .NET Core, ASP.NET Core applications
PPTX
Maximizing Performance with SPDY and SSL
PPTX
REST API Security: OAuth 2.0, JWTs, and More!
PDF
De la bonne utilisation de OAuth2
PDF
FIDO Technical Overview at FIDO KWG Hackathon
PDF
CIS 2015 Extreme SAML - Hans Zandbelt
PPTX
Microservice with OAuth2
PDF
JavaOne 2014 - Securing RESTful Resources with OAuth2
PDF
proxy2: HTTPS pins and needles
PDF
Kotlin server side frameworks
PDF
Application Security in ASP.NET Core
PDF
CIS13: Federation Protocol Cross-Section
PPTX
Nodejsvault austin2019
PPTX
Adding Identity Management and Access Control to your App
Openstack identity protocols unconference
AllTheTalks.Online 2020: "Basics of OAuth 2.0 and OpenID Connect"
CIS13: Bootcamp: Ping Identity OAuth and OpenID Connect In Action with PingFe...
ConFoo 2015 - Securing RESTful resources with OAuth2
Building Secure User Interfaces With JWTs
OpenID Connect "101" Introduction -- October 23, 2018
Securing .NET Core, ASP.NET Core applications
Maximizing Performance with SPDY and SSL
REST API Security: OAuth 2.0, JWTs, and More!
De la bonne utilisation de OAuth2
FIDO Technical Overview at FIDO KWG Hackathon
CIS 2015 Extreme SAML - Hans Zandbelt
Microservice with OAuth2
JavaOne 2014 - Securing RESTful Resources with OAuth2
proxy2: HTTPS pins and needles
Kotlin server side frameworks
Application Security in ASP.NET Core
CIS13: Federation Protocol Cross-Section
Nodejsvault austin2019
Adding Identity Management and Access Control to your App

More from Shiu-Fun Poon (18)

PDF
APIConnect Security Best Practice
PPTX
GraphQL Security
PPTX
IBM APIc API security protection mechanism
PDF
How to create a User Defined Policy with IBM APIc (v10)
PPTX
Cheatsheet to run DP docker
PDF
How to migrate an application in IBM APIc, and preserve its client credential
PDF
DataPower as PCI
PPTX
How to integration with 3rd Party OAuth Provider with IBM APIc
PDF
How to integration DataPower with Zos
PDF
DataPower Security Hardening
PDF
IBM Apic toolkit cheatsheet
PPTX
DataPower DoS/DDoS
PDF
Social Login (Nested OAuth/OIDC)
PDF
White vs Black list
PDF
APIC/DataPower security
PPTX
Open Banking via APIc 2018
PPTX
Gateway/APIC security
PDF
Gateway deepdive
APIConnect Security Best Practice
GraphQL Security
IBM APIc API security protection mechanism
How to create a User Defined Policy with IBM APIc (v10)
Cheatsheet to run DP docker
How to migrate an application in IBM APIc, and preserve its client credential
DataPower as PCI
How to integration with 3rd Party OAuth Provider with IBM APIc
How to integration DataPower with Zos
DataPower Security Hardening
IBM Apic toolkit cheatsheet
DataPower DoS/DDoS
Social Login (Nested OAuth/OIDC)
White vs Black list
APIC/DataPower security
Open Banking via APIc 2018
Gateway/APIC security
Gateway deepdive

Recently uploaded (20)

PDF
Spectral efficient network and resource selection model in 5G networks
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PPTX
A Presentation on Artificial Intelligence
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
NewMind AI Monthly Chronicles - July 2025
PPT
Teaching material agriculture food technology
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PPTX
Big Data Technologies - Introduction.pptx
PDF
Encapsulation_ Review paper, used for researhc scholars
PPTX
Cloud computing and distributed systems.
PDF
Unlocking AI with Model Context Protocol (MCP)
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
KodekX | Application Modernization Development
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Spectral efficient network and resource selection model in 5G networks
“AI and Expert System Decision Support & Business Intelligence Systems”
A Presentation on Artificial Intelligence
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
The Rise and Fall of 3GPP – Time for a Sabbatical?
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
NewMind AI Monthly Chronicles - July 2025
Teaching material agriculture food technology
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Big Data Technologies - Introduction.pptx
Encapsulation_ Review paper, used for researhc scholars
Cloud computing and distributed systems.
Unlocking AI with Model Context Protocol (MCP)
20250228 LYD VKU AI Blended-Learning.pptx
KodekX | Application Modernization Development
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
CIFDAQ's Market Insight: SEC Turns Pro Crypto
Chapter 3 Spatial Domain Image Processing.pdf
Advanced methodologies resolving dimensionality complications for autism neur...
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...

Token, token... From SAML to OIDC

  • 4. 4 •  Delegated authoriza/on •  Permission : Allow/ Denied •  IETF RFC 6749 •  access_token (RFC6750) •  Bearer * •  Vendor specified •  Introspec/on : IETF RFC 7662 •  Authen/ca/on •  Who are you ? •  OpenID.net •  Extend OAuth 2.0 with user informa/on •  id_token •  JSON Web Token (JWT) •  Signed with JWS •  Encrypted with JWE •  Signed & Encrypted Protocol : SAML vs OAuth 2.0 vs OpenID •  Federated Iden/ty •  Who are you ? •  Permission : Allow/ Denied •  OASIS/WS-* •  SAML Asser/on •  1.0, 1.1, 2.0 •  XML based •  Signed/Encrypted
  • 5. [Token] SAML vs access_token (Bearer) vs id_token (JWT) 5 •  Identity assertion token •  SAML or id_token (JWT) •  e.g. ‘WickedPrinterApp’ requires Alice to authenticate successfully before presenting its service •  Authorization token •  SAML or access_token (bearer) •  e.g. ‘WickedPrinterApp’ can print Alice’s photo if access_token is valid SAML : <saml:Asser2on xmlns:…> <saml:Issuer>…</saml:Issuer> <saml:Subject>...</saml:Subject> <saml:Condi2on>...</saml:Condi2on> ..... </saml:Asser2on> access_token : HTTP Header : Authoriza2on: Bearer xyzjj…......... Ø  Apply introspec2on (RFC 7662) against the token : { "ac2ve":true, "token_type":"bearer", "client_id":”spoon-applica2on", "username":”shiufun", "sub":”shiufun", "exp":1504323675, …} id_token : HTTP Header : Authoriza2on: Bearer xxx.yyy.zzzz unpacked into {“alg”:”HS256”}. {“iss”:”xx”,”sub”:”yy”…}. zzzz
  • 6. [Token] SAML vs access_token (Bearer) vs id_token (JWT) SAML access_token id_token XML based (OASIS) Opaque (RFC 6750) * Binary vs defined format JSON Web Token (RFC 7519) HTTP(s), Payload HTTP(s), Payload HTTP(s), Payload WS-Security specification Introspection (RFC 7662) JOSE (JWS/JWE) Web service/WebApp WebApp/Mobile WebApp/Mobile * SAML for OAuth – authenticate resource owner or application * JWT for OAuth – authentication resource owner or client 6
  • 7. SAML •  Specifica2on is well established •  Confiden2ality/Integrity •  How to protect it during transit •  Replay ? •  Condi2on ? •  Authen2ca2on/Abribute/Authoriza2on Statement hbps://www.oasis-open.org/commibees/download.php/8733/sstc-saml-sec-consider-2.0-drad-05-diff.pdf 7
  • 8. OAuth 2.0/OIDC •  Redirect_uri •  Client/applica2on •  How secure is its creden2al •  How to securely store the permission •  *well-behaved* •  Applica2on authen2city •  Session management of the end user •  How to authen2cate the user •  Web applica2on, API applica2on •  follow the best prac2ce to prevent CSRF, XSS, Session 8 https://tools.ietf.org/html/rfc6819
  • 9. Transit/local storage •  TLS/SSL •  Who is token being kept securely once it is issued •  Token/Session management •  Ttl == infinity, what could go wrong (?) 9