SlideShare a Scribd company logo
Demystifying
OAuth 2
Nice to meet you
Software Engineer @Colpatria Scotiabank
Making things happen!
Loves reading, programming and teaching.
@yurynino
@yurynino
@yurynino
yury.nino.roa
Agenda
● Why OAuth?
● What is OAuth?
● How to OAuth works?
● OAuth Grant Types
What is the problem?
You have DIFFERENT
accounts for LinkedIn and
Google.
LinkedIn wants to add
your Google contacts to
your LinkedIn profile.
The bad old days: credential sharing
Think in this ….
Taken from Oauth 2.0 in
Action
It was bad because ...
● Same credentials at the client and
the protected resource are required.
● It exposed the user’s password to
the client application.
Taken from Oauth 2.0 in Action
What if we were able to have
this kind of limited credential,
issued separately for each
client and each user
combination, to be used at a
protected resource?
OAuth is a protocol
designed to do
exactly that:
Delegating.
Taken from Oauth 2.0 in
Action
What is the new with OAuth?
Demystifying OAuth 2.0
A client is a piece of
software that
attempts to access the
protected resource on
behalf of the resource
owner.
Taken from Oauth 2.0 in Action
An Access Token is an
artifact issued by the
authorization server to
a client that indicates
the rights that the client
has been delegated.
Taken from Oauth 2.0 in Action
A protected
resource is
available through an
HTTP server and it
requires an OAuth
token to be accessed.
Taken from Oauth 2.0 in Action
A resource owner
is the entity that has
the authority to
delegate access to the
client. It isn’t a piece
of software.
Taken from Oauth 2.0 in Action
An authorization
server is an HTTP
server that provides
mechanisms for
allowing resource
owners to authorize
clients, and issues
tokens to the clients.
Taken from Oauth 2.0 in Action
Tokens, scopes, and authorization grants
An access token, sometimes
known as just a token is an
artifact issued by the
authorization server to a
client that indicates the
rights that the client has been
delegated.
OAuth a token represents the
combination of the client’s
requested access, the resource
owner that authorized the
client, and the rights conferred
during that authorization.
A scope is a
representation of a set of rights at
a protected resource. They are a
mechanism for limiting the access
granted to a client.
Are you paying attention?
1. Which components are no software?
2. Which components should know the token
content?
OAuth Dancing
Step 1
Response
from the Client
Redirect
is a GET
Step 2
Step 3
Step 5
Step 4
Demystifying OAuth 2.0
Demystifying OAuth 2.0
Step 6
Step 7
What is the new with OAuth?
Demystifying OAuth 2.0
Are you paying attention?
1. How does Resource Owner authenticate
before Authorization Server grant the
access to the Resource?
2. How do you think a granted authorization
is removed?
RFC 5849 https://tools.ietf.org/html/rfc5849
RFC 6749 https://tools.ietf.org/html/rfc6749
OAuth 2.0 is a delegation
protocol, letting someone,
who controls a resource, allow
a software application to
access that resource on their
behalf.
Taken from Oauth 2.0 in Action
Real-life examples of OAuth 2.0 in action
● StackOverflow allowing you to log in
with your Google account.
● Posting a status update from your
phone using the Facebook app.
● LinkedIn suggesting contacts for you
to add by looking at your Google
contacts.
Fundamental to the power of OAuth 2.0 is
the notion of delegation. Although OAuth 2.0
is often called an authorization protocol (and
this is the name given to it in the RFC which
defines it), it is a delegation protocol.
How to get an access token … Grant Types
Authorization Code
Implicit Grant Type
Taken from Oauth 2.0 in
Action
Implicit Grant Type
Client credentials
Taken from Oauth 2.0 in
Action
Client credentials
Resource owner credentials
Taken from Oauth 2.0 in
Action
Resource owner credentials
Assertion grant types
Taken from Oauth 2.0 in
Action
Choosing the appropriate grant type
OAuth 2.0 the good, the
bad, and the ugly
Demystifying OAuth 2.0

More Related Content

PDF
Stateless Auth using OAUTH2 & JWT
PDF
Introduction to OAuth2.0
DOCX
6.designing secure and efficient biometric based secure access mechanism for ...
PPTX
OAuth2 Presentaion
PDF
OAuth2 primer
PDF
Auth experience - vol 1.0
PPT
OAuth2 Protocol with Grails Spring Security
PDF
OpenID Connect - An Emperor or Just New Cloths?
Stateless Auth using OAUTH2 & JWT
Introduction to OAuth2.0
6.designing secure and efficient biometric based secure access mechanism for ...
OAuth2 Presentaion
OAuth2 primer
Auth experience - vol 1.0
OAuth2 Protocol with Grails Spring Security
OpenID Connect - An Emperor or Just New Cloths?

What's hot (20)

PDF
GHC18 Abstract - API Security, a Grail Quest
PDF
OpenID Connect vs. OpenID 1 & 2
PPTX
Mit 2014 introduction to open id connect and o-auth 2
PPTX
Intro to OAuth2 and OpenID Connect
PPTX
An introduction to OAuth 2
DOC
Certification authority
PPTX
OpenID Connect 1.0 Explained
PDF
OpenID and OAuth
PPTX
OAuth2 & OpenID Connect
PPT
Grid security
PDF
OAuth Base Camp
PDF
OAuth 2.0 & OpenID Connect @ OpenSource Conference 2011 Tokyo #osc11tk
PDF
iaetsd Robots in oil and gas refineries
PDF
Spring security oauth2
PDF
OpenID Connect 101 @ OpenID TechNight vol.11
PDF
1000 ways to die in mobile oauth
PPT
Google Apps Secure Data Connector
PDF
OAuth 2.0 and OpenID Connect
PDF
Basic security concepts essential for all architects
PPT
Openid & Oauth: An Introduction
GHC18 Abstract - API Security, a Grail Quest
OpenID Connect vs. OpenID 1 & 2
Mit 2014 introduction to open id connect and o-auth 2
Intro to OAuth2 and OpenID Connect
An introduction to OAuth 2
Certification authority
OpenID Connect 1.0 Explained
OpenID and OAuth
OAuth2 & OpenID Connect
Grid security
OAuth Base Camp
OAuth 2.0 & OpenID Connect @ OpenSource Conference 2011 Tokyo #osc11tk
iaetsd Robots in oil and gas refineries
Spring security oauth2
OpenID Connect 101 @ OpenID TechNight vol.11
1000 ways to die in mobile oauth
Google Apps Secure Data Connector
OAuth 2.0 and OpenID Connect
Basic security concepts essential for all architects
Openid & Oauth: An Introduction
Ad

Similar to Demystifying OAuth 2.0 (20)

PDF
A technical insight into the concepts and terminologies behind oauth – an ope...
PPTX
OAuth2 Introduction
PPT
Oauth2.0
PPTX
Oauth 2.0 Introduction and Flows with MuleSoft
ODP
OAuth2 - Introduction
PPTX
OAuth2 Implementation Presentation (Java)
PPTX
OAuth with Salesforce - Demystified
PPTX
OAuth 2 Spring Boot 3 Integration Presentation
PDF
API Security with OAuth2.0.
PPTX
OAuth 2.0 - The fundamentals, the good , the bad, technical primer and commo...
PDF
Oauth2.0 tutorial
PDF
Flaws in Oauth 2.0 Can Oauth be used as a Security Server
PDF
Stateless Auth using OAuth2 & JWT
PPTX
Oauth2 and OWSM OAuth2 support
PDF
The Many Flavors of OAuth - Understand Everything About OAuth2
PPTX
Ladies Be Architects - Study Group III: OAuth 2.0 (Ep 1)
PPTX
Id fiware upm-dit
PPTX
OAuth
PPTX
OAuth - Don’t Throw the Baby Out with the Bathwater
A technical insight into the concepts and terminologies behind oauth – an ope...
OAuth2 Introduction
Oauth2.0
Oauth 2.0 Introduction and Flows with MuleSoft
OAuth2 - Introduction
OAuth2 Implementation Presentation (Java)
OAuth with Salesforce - Demystified
OAuth 2 Spring Boot 3 Integration Presentation
API Security with OAuth2.0.
OAuth 2.0 - The fundamentals, the good , the bad, technical primer and commo...
Oauth2.0 tutorial
Flaws in Oauth 2.0 Can Oauth be used as a Security Server
Stateless Auth using OAuth2 & JWT
Oauth2 and OWSM OAuth2 support
The Many Flavors of OAuth - Understand Everything About OAuth2
Ladies Be Architects - Study Group III: OAuth 2.0 (Ep 1)
Id fiware upm-dit
OAuth
OAuth - Don’t Throw the Baby Out with the Bathwater
Ad

Recently uploaded (20)

PDF
Heart disease approach using modified random forest and particle swarm optimi...
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PPTX
Tartificialntelligence_presentation.pptx
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
Getting Started with Data Integration: FME Form 101
PPTX
OMC Textile Division Presentation 2021.pptx
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PPTX
TechTalks-8-2019-Service-Management-ITIL-Refresh-ITIL-4-Framework-Supports-Ou...
PPTX
A Presentation on Artificial Intelligence
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PPTX
1. Introduction to Computer Programming.pptx
PPT
Teaching material agriculture food technology
PDF
Approach and Philosophy of On baking technology
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
A comparative analysis of optical character recognition models for extracting...
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Accuracy of neural networks in brain wave diagnosis of schizophrenia
PDF
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
PDF
Network Security Unit 5.pdf for BCA BBA.
Heart disease approach using modified random forest and particle swarm optimi...
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Tartificialntelligence_presentation.pptx
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Getting Started with Data Integration: FME Form 101
OMC Textile Division Presentation 2021.pptx
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
TechTalks-8-2019-Service-Management-ITIL-Refresh-ITIL-4-Framework-Supports-Ou...
A Presentation on Artificial Intelligence
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
1. Introduction to Computer Programming.pptx
Teaching material agriculture food technology
Approach and Philosophy of On baking technology
Building Integrated photovoltaic BIPV_UPV.pdf
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
A comparative analysis of optical character recognition models for extracting...
Unlocking AI with Model Context Protocol (MCP)
Accuracy of neural networks in brain wave diagnosis of schizophrenia
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
Network Security Unit 5.pdf for BCA BBA.

Demystifying OAuth 2.0