SlideShare a Scribd company logo
© 2016 ForgeRock. All rights reserved.
Introduction to SAML & OIDC
@WayneBlacklock
wayne.blacklock@forgerock.com
© 2016 ForgeRock. All rights reserved.
What is the problem?
I want my users to access systems hosted by third parties, however:
● I do not want the third party to store credentials for my users.
● I also do not want my users to have to remember and enter yet
another set of credentials.
We can achieve this using federation.
SAML and OIDC are both types of federation ( though not the only types ).
© 2016 ForgeRock. All rights reserved.
Introducing SAML (Version 2)
SAML ( Security Assertion Markup Language ) is a standard which
enables a user to authenticate once and access multiple web sites across
different networks.
The SAML standard defines two different types of provider:
● Identity Provider (IdP): Authenticates users and stores user
credentials.
● Service Provider (SP): Where authenticated users go to consume
services.
We are going to look at the Authentication Request Protocol, there are
other protocols but this is the most important one.
https://docs.oasis-open.org/security/saml/v2.0/saml-core-2.0-os.pdf
© 2016 ForgeRock. All rights reserved.
Circles of Trust
A circle of trust is a set of IdPs and SPs that
have been configured to trust SAML assertions
generated by each other.
Circle of Trust
SP
IdP
SP
SP
SP
As a user I login once to the IdP, then
I can access all of the SPs without
re-entering my credentials.
© 2016 ForgeRock. All rights reserved.
Assertions
SAML makes use of assertions, which is an XML payload of security
information about the user. There are two common assertions:
● Authentication Assertion: Confirms the user has proven their
identity.
● Attribute Assertion: Contain specific information about the user (e.g.
email address, name, etc).
Assertions are signed with an XML signature to prove they have not been
tampered with. They can also be encrypted if required.
© 2016 ForgeRock. All rights reserved.
Bindings
SAML assertions are commonly exchanged via the browser through
bindings:
● HTTP Redirect: SAML message carried directly in the URL of a GET request
as a parameter.
● HTTP Post: SAML message is contained in an XHTML form, which is then
automatically submitted ( via Javascript ) by the browser.
● HTTP Artifact: Passes references via redirect resolved using back channels
directly ( not via the browser ).
© 2016 ForgeRock. All rights reserved.
IDP Initiated SAML ( Post )
Browser IdP SP
Click on SP link
Redirect with authn response
Post to SP with authn response
Optionally
retrieve
attributes
Allow access to protected resource
© 2016 ForgeRock. All rights reserved.
SP Initiated SAML ( Post )
Browser IdP SP
Redirect with authn response
Post to SP with authn response
Optionally
retrieve
attributes
Allow access to protected resource
Browse to SP
Redirect with SAML authn request
* Authenticate if required
Post to IdP with authn request *
© 2016 ForgeRock. All rights reserved.
SAML
Users can now access resources securely cross domain, without yet
another set of credentials, however:
SAML:
● Requires pre-agreed metadata ( trust ) to be set up beforehand for
both IdP and SP
● Difficult to implement in native mobile apps
● Uses an XML based messaging structure ( as opposed to JSON )
© 2016 ForgeRock. All rights reserved.
Introducing OIDC
OpenID Connect ( OIDC ) is built on OAuth2 and adds authentication
functionality ( whereas OAuth2 is only for delegated access)
Like SAML it solves the problem of accessing different sites without
introducing yet another set of credentials.
You may have seen one of these
buttons, they use OIDC.
Sites can be OpenID certified
© 2016 ForgeRock. All rights reserved.
OIDC Parties
There are a number of different parties involved in OIDC flows:
● Relying Party: The application that is relying on a third party for user
authentication.
● OpenID Provider (Authz Server): The third party that will authenticate the
user.
● Endpoints:
○ TokenInfo: RESTful service for returning information about tokens.
○ UserInfo: RESTful service for retrieving claims about a user.
© 2016 ForgeRock. All rights reserved.
OIDC Scopes & Claims
Scopes & claims are the terms used in OIDC for requesting information
about a user.
● Scopes:
○ openid: Tells the OpenID provider the client is making an OIDC request
○ profile: Requests access to the users profile
○ email: Requests access to the users email
○ address: Requests access to the users address
○ phone: Requests access to the users phone
● Claims: Scopes map to sets of claims e.g.
○ A request for the profile scope returns something like…
○ A single scope may return multiple claims
"userinfo":
{
"claims":
{
"user_id": null,
"name": {"optional": true},
"nickname": {"optional": true}
…
}
}
© 2016 ForgeRock. All rights reserved.
OIDC Tokens
There are a number of different tokens involved in OIDC:
● ID Token: Confirms the user has been authenticated and contains claims
about the authenticated user.
● Access Token/Refresh Tokens: Grant or deny access to resources for a
period of time, and extend that access. Inherited from OAuth2.
© 2016 ForgeRock. All rights reserved.
OIDC Flows
There are three OIDC flows for authentication, these are a subset of
OAuth2 flows:
● Authorization Code Flow
● Implicit Flow
● Hybrid Flow
We are going to look at the Authorization Code Flow
© 2016 ForgeRock. All rights reserved.
OIDC Authorization Code Flow
Relying Party User
OpenID
Provider
Token
Endpoint
UserInfo
Endpoint
Authorization code request
Authenticate end user
User consent *
Redirect with....
...authorization code
Exchange code for tokens
Access Token & ID
Token
(Optional) Access token
(Optional) Userinfo response
Access protected resource
* Unless already granted
© 2016 ForgeRock. All rights reserved.
Why OIDC?
OIDC offers additional functionality over and above SAML:
● Dynamic registration & discovery: Discovery enables client
applications to automatically register themselves with the OIDC server.
● RESTful services: JSON based services that can be utilised by
mobile apps.
● Easy to consume tokens: OIDC utilises JWT’s ( JSON Web Tokens )
● Endpoints: That can flexibly return claims about the end user
© 2016 ForgeRock. All rights reserved.
?

More Related Content

What's hot

SAML VS OAuth 2.0 VS OpenID Connect
SAML VS OAuth 2.0 VS OpenID ConnectSAML VS OAuth 2.0 VS OpenID Connect
SAML VS OAuth 2.0 VS OpenID Connect
Ubisecure
 
Introduction to SAML 2.0
Introduction to SAML 2.0Introduction to SAML 2.0
Introduction to SAML 2.0
Mika Koivisto
 
Keycloak Single Sign-On
Keycloak Single Sign-OnKeycloak Single Sign-On
Keycloak Single Sign-On
Ravi Yasas
 
Introduction to OpenID Connect
Introduction to OpenID Connect Introduction to OpenID Connect
Introduction to OpenID Connect
Nat Sakimura
 
OAuth2 - Introduction
OAuth2 - IntroductionOAuth2 - Introduction
OAuth2 - Introduction
Knoldus Inc.
 
IdP, SAML, OAuth
IdP, SAML, OAuthIdP, SAML, OAuth
IdP, SAML, OAuth
Dan Brinkmann
 
OpenID Connect Explained
OpenID Connect ExplainedOpenID Connect Explained
OpenID Connect Explained
Vladimir Dzhuvinov
 
OAuth in the Wild
OAuth in the WildOAuth in the Wild
OAuth in the Wild
Victor Rentea
 
An Introduction to OAuth 2
An Introduction to OAuth 2An Introduction to OAuth 2
An Introduction to OAuth 2
Aaron Parecki
 
OAuth - Open API Authentication
OAuth - Open API AuthenticationOAuth - Open API Authentication
OAuth - Open API Authentication
leahculver
 
Single sign on using SAML
Single sign on using SAML Single sign on using SAML
Single sign on using SAML
Programming Talents
 
OAuth 2.0
OAuth 2.0OAuth 2.0
OAuth 2.0
Uwe Friedrichsen
 
OpenID Connect: An Overview
OpenID Connect: An OverviewOpenID Connect: An Overview
OpenID Connect: An Overview
Pat Patterson
 
Web Authentication API
Web Authentication APIWeb Authentication API
Web Authentication API
FIDO Alliance
 
SIngle Sign On with Keycloak
SIngle Sign On with KeycloakSIngle Sign On with Keycloak
SIngle Sign On with Keycloak
Julien Pivotto
 
OpenID Connect 4 SSI
OpenID Connect 4 SSIOpenID Connect 4 SSI
OpenID Connect 4 SSI
Torsten Lodderstedt
 
Demystifying SAML 2.0,Oauth 2.0, OpenID Connect
Demystifying SAML 2.0,Oauth 2.0, OpenID ConnectDemystifying SAML 2.0,Oauth 2.0, OpenID Connect
Demystifying SAML 2.0,Oauth 2.0, OpenID Connect
Vinay Manglani
 
Demystifying OAuth 2.0
Demystifying OAuth 2.0Demystifying OAuth 2.0
Demystifying OAuth 2.0
Karl McGuinness
 
Enterprise Single Sign-On - SSO
Enterprise Single Sign-On - SSOEnterprise Single Sign-On - SSO
Enterprise Single Sign-On - SSOOliver Mueller
 

What's hot (20)

SAML VS OAuth 2.0 VS OpenID Connect
SAML VS OAuth 2.0 VS OpenID ConnectSAML VS OAuth 2.0 VS OpenID Connect
SAML VS OAuth 2.0 VS OpenID Connect
 
Introduction to SAML 2.0
Introduction to SAML 2.0Introduction to SAML 2.0
Introduction to SAML 2.0
 
Keycloak Single Sign-On
Keycloak Single Sign-OnKeycloak Single Sign-On
Keycloak Single Sign-On
 
Introduction to OpenID Connect
Introduction to OpenID Connect Introduction to OpenID Connect
Introduction to OpenID Connect
 
OAuth2 - Introduction
OAuth2 - IntroductionOAuth2 - Introduction
OAuth2 - Introduction
 
IdP, SAML, OAuth
IdP, SAML, OAuthIdP, SAML, OAuth
IdP, SAML, OAuth
 
OpenID Connect Explained
OpenID Connect ExplainedOpenID Connect Explained
OpenID Connect Explained
 
OAuth in the Wild
OAuth in the WildOAuth in the Wild
OAuth in the Wild
 
An Introduction to OAuth 2
An Introduction to OAuth 2An Introduction to OAuth 2
An Introduction to OAuth 2
 
OAuth - Open API Authentication
OAuth - Open API AuthenticationOAuth - Open API Authentication
OAuth - Open API Authentication
 
Single sign on using SAML
Single sign on using SAML Single sign on using SAML
Single sign on using SAML
 
OAuth 2.0
OAuth 2.0OAuth 2.0
OAuth 2.0
 
OpenID Connect: An Overview
OpenID Connect: An OverviewOpenID Connect: An Overview
OpenID Connect: An Overview
 
Web Authentication API
Web Authentication APIWeb Authentication API
Web Authentication API
 
SIngle Sign On with Keycloak
SIngle Sign On with KeycloakSIngle Sign On with Keycloak
SIngle Sign On with Keycloak
 
OpenID Connect 4 SSI
OpenID Connect 4 SSIOpenID Connect 4 SSI
OpenID Connect 4 SSI
 
Demystifying SAML 2.0,Oauth 2.0, OpenID Connect
Demystifying SAML 2.0,Oauth 2.0, OpenID ConnectDemystifying SAML 2.0,Oauth 2.0, OpenID Connect
Demystifying SAML 2.0,Oauth 2.0, OpenID Connect
 
Demystifying OAuth 2.0
Demystifying OAuth 2.0Demystifying OAuth 2.0
Demystifying OAuth 2.0
 
OAuth2 + API Security
OAuth2 + API SecurityOAuth2 + API Security
OAuth2 + API Security
 
Enterprise Single Sign-On - SSO
Enterprise Single Sign-On - SSOEnterprise Single Sign-On - SSO
Enterprise Single Sign-On - SSO
 

Similar to Introduction to SAML & OIDC

Comment ça marche: OpenID Connect fournisseur d’identité universel de Google ...
Comment ça marche: OpenID Connect fournisseur d’identité universel de Google ...Comment ça marche: OpenID Connect fournisseur d’identité universel de Google ...
Comment ça marche: OpenID Connect fournisseur d’identité universel de Google ...
Leonard Moustacchis
 
CIS13: Introduction to OAuth 2.0
CIS13: Introduction to OAuth 2.0CIS13: Introduction to OAuth 2.0
CIS13: Introduction to OAuth 2.0
CloudIDSummit
 
Digital ID Protocol - Presentation 2015-12-04
Digital ID Protocol - Presentation 2015-12-04Digital ID Protocol - Presentation 2015-12-04
Digital ID Protocol - Presentation 2015-12-04
Synacts
 
An Authentication and Authorization Architecture for a Microservices World
An Authentication and Authorization Architecture for a Microservices WorldAn Authentication and Authorization Architecture for a Microservices World
An Authentication and Authorization Architecture for a Microservices World
VMware Tanzu
 
[WSO2Con USA 2018] Identity APIs is the New Black
[WSO2Con USA 2018] Identity APIs is the New Black[WSO2Con USA 2018] Identity APIs is the New Black
[WSO2Con USA 2018] Identity APIs is the New Black
WSO2
 
[WSO2Con EU 2018] Identity APIs is the New Black
[WSO2Con EU 2018] Identity APIs is the New Black[WSO2Con EU 2018] Identity APIs is the New Black
[WSO2Con EU 2018] Identity APIs is the New Black
WSO2
 
Openstack identity protocols unconference
Openstack identity protocols unconferenceOpenstack identity protocols unconference
Openstack identity protocols unconferenceDavid Waite
 
#OSSPARIS19 - MicroServices authentication and authorization with LemonLDAP::...
#OSSPARIS19 - MicroServices authentication and authorization with LemonLDAP::...#OSSPARIS19 - MicroServices authentication and authorization with LemonLDAP::...
#OSSPARIS19 - MicroServices authentication and authorization with LemonLDAP::...
Paris Open Source Summit
 
[POSS 2019] MicroServices authentication and authorization with LemonLDAP::NG
[POSS 2019] MicroServices authentication and authorization with LemonLDAP::NG[POSS 2019] MicroServices authentication and authorization with LemonLDAP::NG
[POSS 2019] MicroServices authentication and authorization with LemonLDAP::NG
Worteks
 
CIS 2015 Extreme OpenID Connect - John Bradley
CIS 2015 Extreme OpenID Connect - John BradleyCIS 2015 Extreme OpenID Connect - John Bradley
CIS 2015 Extreme OpenID Connect - John Bradley
CloudIDSummit
 
Authorization Using JWTs
Authorization Using JWTsAuthorization Using JWTs
Authorization Using JWTs
ForgeRock Identity Tech Talks
 
Identity 2.0 and User-Centric Identity
Identity 2.0 and User-Centric IdentityIdentity 2.0 and User-Centric Identity
Identity 2.0 and User-Centric IdentityOliver Pfaff
 
OAuth 2.0 for Web and Native (Mobile) App Developers
OAuth 2.0 for Web and Native (Mobile) App DevelopersOAuth 2.0 for Web and Native (Mobile) App Developers
OAuth 2.0 for Web and Native (Mobile) App Developers
Prabath Siriwardena
 
Securing RESTful API
Securing RESTful APISecuring RESTful API
Securing RESTful API
Muhammad Zbeedat
 
Identity and Client Management using OpenID Connect and SAML
Identity and Client Management using OpenID Connect and SAMLIdentity and Client Management using OpenID Connect and SAML
Identity and Client Management using OpenID Connect and SAML
pqrs1234
 
O auth2 with angular js
O auth2 with angular jsO auth2 with angular js
O auth2 with angular js
Bixlabs
 
FIDO Authentication: Its Evolution and Opportunities in Business -FIDO Allian...
FIDO Authentication: Its Evolution and Opportunities in Business -FIDO Allian...FIDO Authentication: Its Evolution and Opportunities in Business -FIDO Allian...
FIDO Authentication: Its Evolution and Opportunities in Business -FIDO Allian...
FIDO Alliance
 
RMLL 2013 - The SAML Protocol: Single Sign On for skilled people
RMLL 2013 - The SAML Protocol: Single Sign On for skilled peopleRMLL 2013 - The SAML Protocol: Single Sign On for skilled people
RMLL 2013 - The SAML Protocol: Single Sign On for skilled people
Clément OUDOT
 
OAuth 2.0 and OpenID Connect
OAuth 2.0 and OpenID ConnectOAuth 2.0 and OpenID Connect
OAuth 2.0 and OpenID Connect
Jacob Combs
 

Similar to Introduction to SAML & OIDC (20)

Comment ça marche: OpenID Connect fournisseur d’identité universel de Google ...
Comment ça marche: OpenID Connect fournisseur d’identité universel de Google ...Comment ça marche: OpenID Connect fournisseur d’identité universel de Google ...
Comment ça marche: OpenID Connect fournisseur d’identité universel de Google ...
 
CIS13: Introduction to OAuth 2.0
CIS13: Introduction to OAuth 2.0CIS13: Introduction to OAuth 2.0
CIS13: Introduction to OAuth 2.0
 
Digital ID Protocol - Presentation 2015-12-04
Digital ID Protocol - Presentation 2015-12-04Digital ID Protocol - Presentation 2015-12-04
Digital ID Protocol - Presentation 2015-12-04
 
An Authentication and Authorization Architecture for a Microservices World
An Authentication and Authorization Architecture for a Microservices WorldAn Authentication and Authorization Architecture for a Microservices World
An Authentication and Authorization Architecture for a Microservices World
 
[WSO2Con USA 2018] Identity APIs is the New Black
[WSO2Con USA 2018] Identity APIs is the New Black[WSO2Con USA 2018] Identity APIs is the New Black
[WSO2Con USA 2018] Identity APIs is the New Black
 
[WSO2Con EU 2018] Identity APIs is the New Black
[WSO2Con EU 2018] Identity APIs is the New Black[WSO2Con EU 2018] Identity APIs is the New Black
[WSO2Con EU 2018] Identity APIs is the New Black
 
Openstack identity protocols unconference
Openstack identity protocols unconferenceOpenstack identity protocols unconference
Openstack identity protocols unconference
 
#OSSPARIS19 - MicroServices authentication and authorization with LemonLDAP::...
#OSSPARIS19 - MicroServices authentication and authorization with LemonLDAP::...#OSSPARIS19 - MicroServices authentication and authorization with LemonLDAP::...
#OSSPARIS19 - MicroServices authentication and authorization with LemonLDAP::...
 
[POSS 2019] MicroServices authentication and authorization with LemonLDAP::NG
[POSS 2019] MicroServices authentication and authorization with LemonLDAP::NG[POSS 2019] MicroServices authentication and authorization with LemonLDAP::NG
[POSS 2019] MicroServices authentication and authorization with LemonLDAP::NG
 
Saml
SamlSaml
Saml
 
CIS 2015 Extreme OpenID Connect - John Bradley
CIS 2015 Extreme OpenID Connect - John BradleyCIS 2015 Extreme OpenID Connect - John Bradley
CIS 2015 Extreme OpenID Connect - John Bradley
 
Authorization Using JWTs
Authorization Using JWTsAuthorization Using JWTs
Authorization Using JWTs
 
Identity 2.0 and User-Centric Identity
Identity 2.0 and User-Centric IdentityIdentity 2.0 and User-Centric Identity
Identity 2.0 and User-Centric Identity
 
OAuth 2.0 for Web and Native (Mobile) App Developers
OAuth 2.0 for Web and Native (Mobile) App DevelopersOAuth 2.0 for Web and Native (Mobile) App Developers
OAuth 2.0 for Web and Native (Mobile) App Developers
 
Securing RESTful API
Securing RESTful APISecuring RESTful API
Securing RESTful API
 
Identity and Client Management using OpenID Connect and SAML
Identity and Client Management using OpenID Connect and SAMLIdentity and Client Management using OpenID Connect and SAML
Identity and Client Management using OpenID Connect and SAML
 
O auth2 with angular js
O auth2 with angular jsO auth2 with angular js
O auth2 with angular js
 
FIDO Authentication: Its Evolution and Opportunities in Business -FIDO Allian...
FIDO Authentication: Its Evolution and Opportunities in Business -FIDO Allian...FIDO Authentication: Its Evolution and Opportunities in Business -FIDO Allian...
FIDO Authentication: Its Evolution and Opportunities in Business -FIDO Allian...
 
RMLL 2013 - The SAML Protocol: Single Sign On for skilled people
RMLL 2013 - The SAML Protocol: Single Sign On for skilled peopleRMLL 2013 - The SAML Protocol: Single Sign On for skilled people
RMLL 2013 - The SAML Protocol: Single Sign On for skilled people
 
OAuth 2.0 and OpenID Connect
OAuth 2.0 and OpenID ConnectOAuth 2.0 and OpenID Connect
OAuth 2.0 and OpenID Connect
 

More from ForgeRock Identity Tech Talks

Deep dive into the Open Banking payments flows
Deep dive into the Open Banking payments flowsDeep dive into the Open Banking payments flows
Deep dive into the Open Banking payments flows
ForgeRock Identity Tech Talks
 
Implementing Open Banking with ForgeRock
Implementing Open Banking with ForgeRockImplementing Open Banking with ForgeRock
Implementing Open Banking with ForgeRock
ForgeRock Identity Tech Talks
 
Just Enough Authentication
Just Enough AuthenticationJust Enough Authentication
Just Enough Authentication
ForgeRock Identity Tech Talks
 
Authentication
AuthenticationAuthentication
Anonymity, Trust, Accountability
Anonymity, Trust, AccountabilityAnonymity, Trust, Accountability
Anonymity, Trust, Accountability
ForgeRock Identity Tech Talks
 
Gov.uk Verify - The Journey So Far
Gov.uk Verify - The Journey So FarGov.uk Verify - The Journey So Far
Gov.uk Verify - The Journey So Far
ForgeRock Identity Tech Talks
 
EU Single Digital Market - eIDAS To The Rescue
EU Single Digital Market - eIDAS To The RescueEU Single Digital Market - eIDAS To The Rescue
EU Single Digital Market - eIDAS To The Rescue
ForgeRock Identity Tech Talks
 
Delivering Identity at Internet Scale
Delivering Identity at Internet ScaleDelivering Identity at Internet Scale
Delivering Identity at Internet Scale
ForgeRock Identity Tech Talks
 
The Slow Death of Passwords
The Slow Death of PasswordsThe Slow Death of Passwords
The Slow Death of Passwords
ForgeRock Identity Tech Talks
 
Steak and OAuth Pi
Steak and OAuth PiSteak and OAuth Pi
Steak and OAuth Pi
ForgeRock Identity Tech Talks
 
Share All The Things With UMA
Share All The Things With UMAShare All The Things With UMA
Share All The Things With UMA
ForgeRock Identity Tech Talks
 
A Deep Dive Into Identity Work Flow
A Deep Dive Into Identity Work FlowA Deep Dive Into Identity Work Flow
A Deep Dive Into Identity Work Flow
ForgeRock Identity Tech Talks
 
Rethinking The Policy Agent
Rethinking The Policy AgentRethinking The Policy Agent
Rethinking The Policy Agent
ForgeRock Identity Tech Talks
 
Mobile Authentication - Moving Towards a Passwordless Future
Mobile Authentication - Moving Towards a Passwordless FutureMobile Authentication - Moving Towards a Passwordless Future
Mobile Authentication - Moving Towards a Passwordless Future
ForgeRock Identity Tech Talks
 
Blockchain
BlockchainBlockchain

More from ForgeRock Identity Tech Talks (15)

Deep dive into the Open Banking payments flows
Deep dive into the Open Banking payments flowsDeep dive into the Open Banking payments flows
Deep dive into the Open Banking payments flows
 
Implementing Open Banking with ForgeRock
Implementing Open Banking with ForgeRockImplementing Open Banking with ForgeRock
Implementing Open Banking with ForgeRock
 
Just Enough Authentication
Just Enough AuthenticationJust Enough Authentication
Just Enough Authentication
 
Authentication
AuthenticationAuthentication
Authentication
 
Anonymity, Trust, Accountability
Anonymity, Trust, AccountabilityAnonymity, Trust, Accountability
Anonymity, Trust, Accountability
 
Gov.uk Verify - The Journey So Far
Gov.uk Verify - The Journey So FarGov.uk Verify - The Journey So Far
Gov.uk Verify - The Journey So Far
 
EU Single Digital Market - eIDAS To The Rescue
EU Single Digital Market - eIDAS To The RescueEU Single Digital Market - eIDAS To The Rescue
EU Single Digital Market - eIDAS To The Rescue
 
Delivering Identity at Internet Scale
Delivering Identity at Internet ScaleDelivering Identity at Internet Scale
Delivering Identity at Internet Scale
 
The Slow Death of Passwords
The Slow Death of PasswordsThe Slow Death of Passwords
The Slow Death of Passwords
 
Steak and OAuth Pi
Steak and OAuth PiSteak and OAuth Pi
Steak and OAuth Pi
 
Share All The Things With UMA
Share All The Things With UMAShare All The Things With UMA
Share All The Things With UMA
 
A Deep Dive Into Identity Work Flow
A Deep Dive Into Identity Work FlowA Deep Dive Into Identity Work Flow
A Deep Dive Into Identity Work Flow
 
Rethinking The Policy Agent
Rethinking The Policy AgentRethinking The Policy Agent
Rethinking The Policy Agent
 
Mobile Authentication - Moving Towards a Passwordless Future
Mobile Authentication - Moving Towards a Passwordless FutureMobile Authentication - Moving Towards a Passwordless Future
Mobile Authentication - Moving Towards a Passwordless Future
 
Blockchain
BlockchainBlockchain
Blockchain
 

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
 
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
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
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
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Product School
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
Cheryl Hung
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
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
 
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
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
Frank van Harmelen
 
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
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
RTTS
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
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
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Tobias Schneck
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Inflectra
 
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
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 

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
 
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...
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
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
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
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 !
 
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
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
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
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
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
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 

Introduction to SAML & OIDC

  • 1. © 2016 ForgeRock. All rights reserved. Introduction to SAML & OIDC @WayneBlacklock wayne.blacklock@forgerock.com
  • 2. © 2016 ForgeRock. All rights reserved. What is the problem? I want my users to access systems hosted by third parties, however: ● I do not want the third party to store credentials for my users. ● I also do not want my users to have to remember and enter yet another set of credentials. We can achieve this using federation. SAML and OIDC are both types of federation ( though not the only types ).
  • 3. © 2016 ForgeRock. All rights reserved. Introducing SAML (Version 2) SAML ( Security Assertion Markup Language ) is a standard which enables a user to authenticate once and access multiple web sites across different networks. The SAML standard defines two different types of provider: ● Identity Provider (IdP): Authenticates users and stores user credentials. ● Service Provider (SP): Where authenticated users go to consume services. We are going to look at the Authentication Request Protocol, there are other protocols but this is the most important one. https://docs.oasis-open.org/security/saml/v2.0/saml-core-2.0-os.pdf
  • 4. © 2016 ForgeRock. All rights reserved. Circles of Trust A circle of trust is a set of IdPs and SPs that have been configured to trust SAML assertions generated by each other. Circle of Trust SP IdP SP SP SP As a user I login once to the IdP, then I can access all of the SPs without re-entering my credentials.
  • 5. © 2016 ForgeRock. All rights reserved. Assertions SAML makes use of assertions, which is an XML payload of security information about the user. There are two common assertions: ● Authentication Assertion: Confirms the user has proven their identity. ● Attribute Assertion: Contain specific information about the user (e.g. email address, name, etc). Assertions are signed with an XML signature to prove they have not been tampered with. They can also be encrypted if required.
  • 6. © 2016 ForgeRock. All rights reserved. Bindings SAML assertions are commonly exchanged via the browser through bindings: ● HTTP Redirect: SAML message carried directly in the URL of a GET request as a parameter. ● HTTP Post: SAML message is contained in an XHTML form, which is then automatically submitted ( via Javascript ) by the browser. ● HTTP Artifact: Passes references via redirect resolved using back channels directly ( not via the browser ).
  • 7. © 2016 ForgeRock. All rights reserved. IDP Initiated SAML ( Post ) Browser IdP SP Click on SP link Redirect with authn response Post to SP with authn response Optionally retrieve attributes Allow access to protected resource
  • 8. © 2016 ForgeRock. All rights reserved. SP Initiated SAML ( Post ) Browser IdP SP Redirect with authn response Post to SP with authn response Optionally retrieve attributes Allow access to protected resource Browse to SP Redirect with SAML authn request * Authenticate if required Post to IdP with authn request *
  • 9. © 2016 ForgeRock. All rights reserved. SAML Users can now access resources securely cross domain, without yet another set of credentials, however: SAML: ● Requires pre-agreed metadata ( trust ) to be set up beforehand for both IdP and SP ● Difficult to implement in native mobile apps ● Uses an XML based messaging structure ( as opposed to JSON )
  • 10. © 2016 ForgeRock. All rights reserved. Introducing OIDC OpenID Connect ( OIDC ) is built on OAuth2 and adds authentication functionality ( whereas OAuth2 is only for delegated access) Like SAML it solves the problem of accessing different sites without introducing yet another set of credentials. You may have seen one of these buttons, they use OIDC. Sites can be OpenID certified
  • 11. © 2016 ForgeRock. All rights reserved. OIDC Parties There are a number of different parties involved in OIDC flows: ● Relying Party: The application that is relying on a third party for user authentication. ● OpenID Provider (Authz Server): The third party that will authenticate the user. ● Endpoints: ○ TokenInfo: RESTful service for returning information about tokens. ○ UserInfo: RESTful service for retrieving claims about a user.
  • 12. © 2016 ForgeRock. All rights reserved. OIDC Scopes & Claims Scopes & claims are the terms used in OIDC for requesting information about a user. ● Scopes: ○ openid: Tells the OpenID provider the client is making an OIDC request ○ profile: Requests access to the users profile ○ email: Requests access to the users email ○ address: Requests access to the users address ○ phone: Requests access to the users phone ● Claims: Scopes map to sets of claims e.g. ○ A request for the profile scope returns something like… ○ A single scope may return multiple claims "userinfo": { "claims": { "user_id": null, "name": {"optional": true}, "nickname": {"optional": true} … } }
  • 13. © 2016 ForgeRock. All rights reserved. OIDC Tokens There are a number of different tokens involved in OIDC: ● ID Token: Confirms the user has been authenticated and contains claims about the authenticated user. ● Access Token/Refresh Tokens: Grant or deny access to resources for a period of time, and extend that access. Inherited from OAuth2.
  • 14. © 2016 ForgeRock. All rights reserved. OIDC Flows There are three OIDC flows for authentication, these are a subset of OAuth2 flows: ● Authorization Code Flow ● Implicit Flow ● Hybrid Flow We are going to look at the Authorization Code Flow
  • 15. © 2016 ForgeRock. All rights reserved. OIDC Authorization Code Flow Relying Party User OpenID Provider Token Endpoint UserInfo Endpoint Authorization code request Authenticate end user User consent * Redirect with.... ...authorization code Exchange code for tokens Access Token & ID Token (Optional) Access token (Optional) Userinfo response Access protected resource * Unless already granted
  • 16. © 2016 ForgeRock. All rights reserved. Why OIDC? OIDC offers additional functionality over and above SAML: ● Dynamic registration & discovery: Discovery enables client applications to automatically register themselves with the OIDC server. ● RESTful services: JSON based services that can be utilised by mobile apps. ● Easy to consume tokens: OIDC utilises JWT’s ( JSON Web Tokens ) ● Endpoints: That can flexibly return claims about the end user
  • 17. © 2016 ForgeRock. All rights reserved. ?