SlideShare a Scribd company logo
2
Most read
3
Most read
10
Most read
OAuth 2
Arpit Suthar
Software Consultant
Knoldus software LLP
Agenda
● Introduction to OAuth2
● Problems before OAuth2
● Definations
● Flow of OAuth2
● Problems with OAuth 1.0
● Problems with Oauth2
● Concept of Refresh Token
● Code and Demo
Introduction of OAuth2
“The OAuth 2.0 authorization framework enables a third-party
application to obtain limited access to an HTTP service, either on
behalf of a resource owner by orchestrating an approval interaction
between the resource owner and the HTTP service, or by allowing
the third-party application to obtain access on its own behalf.”
Problems before OAuth2
●
Apps store the user’s password
●
Apps get complete access to a user’s account
●
Users can’t revoke access to an app except by changing their
password
●
Compromised apps expose the user’s password
Definations
●
Resource Owner: The User
●
Resource Server: The API
●
Authorization Server: Often the same as the API
server
●
Client: The Third-Party Application
Flow
Cont.
● Signing Every Request : Having the client generate signatures on every API request and
validating them on the server everytime a request is received, proved to be major setback for
developers, as they had to parse, encode and sort the parameters before making a request.
OAuth 2.0 removed this complexity by simply sending the tokens over SSL, solving the same
problem at network level. No signatures are required with OAuth 2.0.
● Addressing Native Applications : With the evolution of native applications for mobile devices,
the web-based flow of OAuth 1.0 seemed inefficient, mandating the use of user-agents like a
Web Browser. OAuth 2.0 have accommodated more flows specifically suitable for native
applications.
● Clear Separation of Roles : OAuth 2.0 provides the much needed separation of roles for the
authorization server authenticating and authorizing the client, and that of the resource server
handling API calls to access restricted resources.
Problems with Oauth 1.0
● Interoperability: Adding too many extension points in the spec resulted in implementations that
are not compatible with each other, what that means is that you cannot hope to write a generic
piece of code which uses Endpoint Discovery to know about the endpoints provided by the
different implementations and interact with them, rather you would have to write separate pieces
of code for Facebook, Google, Salesforce and so on.
● Short Lived Tokens: The spec does not mandate the lifetime and scope of the issued tokens.
The implementation is free to have a token live forever. Although most of the implementations
provide us with short-lived access tokens and a refresh token, which can be used to get a fresh
access token.
● Security: The spec just "recommends" the use of SSL/TLS while sending the tokens in plaintext
over the wire. Although, every major implementation has made it a requirement to have secure
authorization endpoints as well require that the client must have a secure redirection URL,
otherwise it will be way too easy for an attacker to eavesdrop on the communication and
decipher the tokens.
Problems with Oauth2
Concept of Refresh Token
Questions & Answers.getOrElse(“u'll get it tomorrow”)
Thank You

More Related Content

PDF
OAuth 2.0
Uwe Friedrichsen
 
PPTX
An Introduction to OAuth 2
Aaron Parecki
 
PPTX
An introduction to OAuth 2
Sanjoy Kumar Roy
 
PDF
Demystifying OAuth 2.0
Karl McGuinness
 
PPTX
OAuth 2
ChrisWood262
 
PPT
OAuth 2.0 and OpenId Connect
Saran Doraiswamy
 
PDF
OAuth & OpenID Connect Deep Dive
Nordic APIs
 
PDF
OpenID Connect Explained
Vladimir Dzhuvinov
 
OAuth 2.0
Uwe Friedrichsen
 
An Introduction to OAuth 2
Aaron Parecki
 
An introduction to OAuth 2
Sanjoy Kumar Roy
 
Demystifying OAuth 2.0
Karl McGuinness
 
OAuth 2
ChrisWood262
 
OAuth 2.0 and OpenId Connect
Saran Doraiswamy
 
OAuth & OpenID Connect Deep Dive
Nordic APIs
 
OpenID Connect Explained
Vladimir Dzhuvinov
 

What's hot (20)

PPTX
Intro to OAuth2 and OpenID Connect
LiamWadman
 
PPTX
OpenID Connect: An Overview
Pat Patterson
 
PPTX
An Introduction to OAuth2
Aaron Parecki
 
PDF
Security for oauth 2.0 - @topavankumarj
Pavan Kumar J
 
PDF
Token, token... From SAML to OIDC
Shiu-Fun Poon
 
PPTX
OAuth2 + API Security
Amila Paranawithana
 
PPTX
Rest API
Rohana K Amarakoon
 
PDF
Documenting your REST API with Swagger - JOIN 2014
JWORKS powered by Ordina
 
PDF
OAuth 2.0 and OpenID Connect
Jacob Combs
 
PDF
Designing APIs with OpenAPI Spec
Adam Paxton
 
PDF
API Security Best Practices & Guidelines
Prabath Siriwardena
 
PPTX
IdP, SAML, OAuth
Dan Brinkmann
 
PDF
Swagger UI
Walaa Hamdy Assy
 
PDF
Introduction to OpenID Connect
Nat Sakimura
 
PPTX
Rest API Security - A quick understanding of Rest API Security
Mohammed Fazuluddin
 
PPTX
REST API Design & Development
Ashok Pundit
 
ODP
Introduction to Swagger
Knoldus Inc.
 
PPTX
Rest API Security
Stormpath
 
PDF
OAuth - Open API Authentication
leahculver
 
PPTX
Introduction to REST - API
Chetan Gadodia
 
Intro to OAuth2 and OpenID Connect
LiamWadman
 
OpenID Connect: An Overview
Pat Patterson
 
An Introduction to OAuth2
Aaron Parecki
 
Security for oauth 2.0 - @topavankumarj
Pavan Kumar J
 
Token, token... From SAML to OIDC
Shiu-Fun Poon
 
OAuth2 + API Security
Amila Paranawithana
 
Documenting your REST API with Swagger - JOIN 2014
JWORKS powered by Ordina
 
OAuth 2.0 and OpenID Connect
Jacob Combs
 
Designing APIs with OpenAPI Spec
Adam Paxton
 
API Security Best Practices & Guidelines
Prabath Siriwardena
 
IdP, SAML, OAuth
Dan Brinkmann
 
Swagger UI
Walaa Hamdy Assy
 
Introduction to OpenID Connect
Nat Sakimura
 
Rest API Security - A quick understanding of Rest API Security
Mohammed Fazuluddin
 
REST API Design & Development
Ashok Pundit
 
Introduction to Swagger
Knoldus Inc.
 
Rest API Security
Stormpath
 
OAuth - Open API Authentication
leahculver
 
Introduction to REST - API
Chetan Gadodia
 
Ad

Viewers also liked (6)

PPTX
OAuth 2 Presentation
Mohamed Ahmed Abdullah
 
PPTX
OAuth - GDG Korea Women 2014 첫 스터디
Jua Alice Kim
 
PDF
OAuth Hacks A gentle introduction to OAuth 2 and Apache Oltu
Antonio Sanso
 
PDF
The Open-Source Monitoring Landscape
Mike Merideth
 
PPTX
OAuth
Adi Challa
 
PPTX
Secure Your REST API (The Right Way)
Stormpath
 
OAuth 2 Presentation
Mohamed Ahmed Abdullah
 
OAuth - GDG Korea Women 2014 첫 스터디
Jua Alice Kim
 
OAuth Hacks A gentle introduction to OAuth 2 and Apache Oltu
Antonio Sanso
 
The Open-Source Monitoring Landscape
Mike Merideth
 
OAuth
Adi Challa
 
Secure Your REST API (The Right Way)
Stormpath
 
Ad

Similar to OAuth2 - Introduction (20)

PPTX
OAuth2 Introduction
Arpit Suthar
 
PDF
Spring Security
Knoldus Inc.
 
PDF
OAuth 2.0 Misconceptions
Cory Forsyth
 
PPTX
OAuth 2 Spring Boot 3 Integration Presentation
Knoldus Inc.
 
PDF
Oauth2.0 tutorial
HarikaReddy115
 
PPTX
Oauth2 and OWSM OAuth2 support
Gaurav Sharma
 
PDF
Introduction to OAuth2.0
Oracle Corporation
 
PDF
ConFoo 2015 - Securing RESTful resources with OAuth2
Rodrigo Cândido da Silva
 
PDF
JavaOne 2014 - Securing RESTful Resources with OAuth2
Rodrigo Cândido da Silva
 
PPTX
OAuth2 Implementation Presentation (Java)
Knoldus Inc.
 
PPTX
Oauth 2.0
Manish Kumar Singh
 
PPTX
(1) OAuth 2.0 Overview
anikristo
 
PPTX
O auth
Ashok Kumar N
 
PDF
I Don't Care About Security (And Neither Should You)
Joel Lord
 
PPT
Oauth2.0
Yasmine Gaber
 
PPTX
Oauth 2.0 Introduction and Flows with MuleSoft
shyamraj55
 
PDF
slides-101-edu-sesse-introduction-to-oauth-20-01.pdf
GopalKrishna703039
 
PPTX
Devteach 2017 OAuth and Open id connect demystified
Taswar Bhatti
 
PDF
Oauth Behind The Scenes
Thang Tran Duc
 
PPTX
OAuth
Tom Elrod
 
OAuth2 Introduction
Arpit Suthar
 
Spring Security
Knoldus Inc.
 
OAuth 2.0 Misconceptions
Cory Forsyth
 
OAuth 2 Spring Boot 3 Integration Presentation
Knoldus Inc.
 
Oauth2.0 tutorial
HarikaReddy115
 
Oauth2 and OWSM OAuth2 support
Gaurav Sharma
 
Introduction to OAuth2.0
Oracle Corporation
 
ConFoo 2015 - Securing RESTful resources with OAuth2
Rodrigo Cândido da Silva
 
JavaOne 2014 - Securing RESTful Resources with OAuth2
Rodrigo Cândido da Silva
 
OAuth2 Implementation Presentation (Java)
Knoldus Inc.
 
(1) OAuth 2.0 Overview
anikristo
 
I Don't Care About Security (And Neither Should You)
Joel Lord
 
Oauth2.0
Yasmine Gaber
 
Oauth 2.0 Introduction and Flows with MuleSoft
shyamraj55
 
slides-101-edu-sesse-introduction-to-oauth-20-01.pdf
GopalKrishna703039
 
Devteach 2017 OAuth and Open id connect demystified
Taswar Bhatti
 
Oauth Behind The Scenes
Thang Tran Duc
 
OAuth
Tom Elrod
 

More from Knoldus Inc. (20)

PPTX
Angular Hydration Presentation (FrontEnd)
Knoldus Inc.
 
PPTX
Optimizing Test Execution: Heuristic Algorithm for Self-Healing
Knoldus Inc.
 
PPTX
Self-Healing Test Automation Framework - Healenium
Knoldus Inc.
 
PPTX
Kanban Metrics Presentation (Project Management)
Knoldus Inc.
 
PPTX
Java 17 features and implementation.pptx
Knoldus Inc.
 
PPTX
Chaos Mesh Introducing Chaos in Kubernetes
Knoldus Inc.
 
PPTX
GraalVM - A Step Ahead of JVM Presentation
Knoldus Inc.
 
PPTX
Nomad by HashiCorp Presentation (DevOps)
Knoldus Inc.
 
PPTX
Nomad by HashiCorp Presentation (DevOps)
Knoldus Inc.
 
PPTX
DAPR - Distributed Application Runtime Presentation
Knoldus Inc.
 
PPTX
Introduction to Azure Virtual WAN Presentation
Knoldus Inc.
 
PPTX
Introduction to Argo Rollouts Presentation
Knoldus Inc.
 
PPTX
Intro to Azure Container App Presentation
Knoldus Inc.
 
PPTX
Insights Unveiled Test Reporting and Observability Excellence
Knoldus Inc.
 
PPTX
Introduction to Splunk Presentation (DevOps)
Knoldus Inc.
 
PPTX
Code Camp - Data Profiling and Quality Analysis Framework
Knoldus Inc.
 
PPTX
AWS: Messaging Services in AWS Presentation
Knoldus Inc.
 
PPTX
Amazon Cognito: A Primer on Authentication and Authorization
Knoldus Inc.
 
PPTX
ZIO Http A Functional Approach to Scalable and Type-Safe Web Development
Knoldus Inc.
 
PPTX
Managing State & HTTP Requests In Ionic.
Knoldus Inc.
 
Angular Hydration Presentation (FrontEnd)
Knoldus Inc.
 
Optimizing Test Execution: Heuristic Algorithm for Self-Healing
Knoldus Inc.
 
Self-Healing Test Automation Framework - Healenium
Knoldus Inc.
 
Kanban Metrics Presentation (Project Management)
Knoldus Inc.
 
Java 17 features and implementation.pptx
Knoldus Inc.
 
Chaos Mesh Introducing Chaos in Kubernetes
Knoldus Inc.
 
GraalVM - A Step Ahead of JVM Presentation
Knoldus Inc.
 
Nomad by HashiCorp Presentation (DevOps)
Knoldus Inc.
 
Nomad by HashiCorp Presentation (DevOps)
Knoldus Inc.
 
DAPR - Distributed Application Runtime Presentation
Knoldus Inc.
 
Introduction to Azure Virtual WAN Presentation
Knoldus Inc.
 
Introduction to Argo Rollouts Presentation
Knoldus Inc.
 
Intro to Azure Container App Presentation
Knoldus Inc.
 
Insights Unveiled Test Reporting and Observability Excellence
Knoldus Inc.
 
Introduction to Splunk Presentation (DevOps)
Knoldus Inc.
 
Code Camp - Data Profiling and Quality Analysis Framework
Knoldus Inc.
 
AWS: Messaging Services in AWS Presentation
Knoldus Inc.
 
Amazon Cognito: A Primer on Authentication and Authorization
Knoldus Inc.
 
ZIO Http A Functional Approach to Scalable and Type-Safe Web Development
Knoldus Inc.
 
Managing State & HTTP Requests In Ionic.
Knoldus Inc.
 

Recently uploaded (20)

PDF
Review of Related Literature & Studies.pdf
Thelma Villaflores
 
PPTX
An introduction to Prepositions for beginners.pptx
drsiddhantnagine
 
PPTX
Sonnet 130_ My Mistress’ Eyes Are Nothing Like the Sun By William Shakespear...
DhatriParmar
 
PPTX
Virus sequence retrieval from NCBI database
yamunaK13
 
PDF
The-Invisible-Living-World-Beyond-Our-Naked-Eye chapter 2.pdf/8th science cur...
Sandeep Swamy
 
PDF
Antianginal agents, Definition, Classification, MOA.pdf
Prerana Jadhav
 
PPTX
Gupta Art & Architecture Temple and Sculptures.pptx
Virag Sontakke
 
PPTX
Five Point Someone – Chetan Bhagat | Book Summary & Analysis by Bhupesh Kushwaha
Bhupesh Kushwaha
 
PPTX
Measures_of_location_-_Averages_and__percentiles_by_DR SURYA K.pptx
Surya Ganesh
 
PPTX
HEALTH CARE DELIVERY SYSTEM - UNIT 2 - GNM 3RD YEAR.pptx
Priyanshu Anand
 
PPTX
Tips Management in Odoo 18 POS - Odoo Slides
Celine George
 
PPTX
Python-Application-in-Drug-Design by R D Jawarkar.pptx
Rahul Jawarkar
 
PPTX
An introduction to Dialogue writing.pptx
drsiddhantnagine
 
PPTX
CARE OF UNCONSCIOUS PATIENTS .pptx
AneetaSharma15
 
PPTX
Kanban Cards _ Mass Action in Odoo 18.2 - Odoo Slides
Celine George
 
PPTX
BASICS IN COMPUTER APPLICATIONS - UNIT I
suganthim28
 
PPTX
How to Apply for a Job From Odoo 18 Website
Celine George
 
PDF
Health-The-Ultimate-Treasure (1).pdf/8th class science curiosity /samyans edu...
Sandeep Swamy
 
PPTX
Applications of matrices In Real Life_20250724_091307_0000.pptx
gehlotkrish03
 
PPTX
Basics and rules of probability with real-life uses
ravatkaran694
 
Review of Related Literature & Studies.pdf
Thelma Villaflores
 
An introduction to Prepositions for beginners.pptx
drsiddhantnagine
 
Sonnet 130_ My Mistress’ Eyes Are Nothing Like the Sun By William Shakespear...
DhatriParmar
 
Virus sequence retrieval from NCBI database
yamunaK13
 
The-Invisible-Living-World-Beyond-Our-Naked-Eye chapter 2.pdf/8th science cur...
Sandeep Swamy
 
Antianginal agents, Definition, Classification, MOA.pdf
Prerana Jadhav
 
Gupta Art & Architecture Temple and Sculptures.pptx
Virag Sontakke
 
Five Point Someone – Chetan Bhagat | Book Summary & Analysis by Bhupesh Kushwaha
Bhupesh Kushwaha
 
Measures_of_location_-_Averages_and__percentiles_by_DR SURYA K.pptx
Surya Ganesh
 
HEALTH CARE DELIVERY SYSTEM - UNIT 2 - GNM 3RD YEAR.pptx
Priyanshu Anand
 
Tips Management in Odoo 18 POS - Odoo Slides
Celine George
 
Python-Application-in-Drug-Design by R D Jawarkar.pptx
Rahul Jawarkar
 
An introduction to Dialogue writing.pptx
drsiddhantnagine
 
CARE OF UNCONSCIOUS PATIENTS .pptx
AneetaSharma15
 
Kanban Cards _ Mass Action in Odoo 18.2 - Odoo Slides
Celine George
 
BASICS IN COMPUTER APPLICATIONS - UNIT I
suganthim28
 
How to Apply for a Job From Odoo 18 Website
Celine George
 
Health-The-Ultimate-Treasure (1).pdf/8th class science curiosity /samyans edu...
Sandeep Swamy
 
Applications of matrices In Real Life_20250724_091307_0000.pptx
gehlotkrish03
 
Basics and rules of probability with real-life uses
ravatkaran694
 

OAuth2 - Introduction

  • 1. OAuth 2 Arpit Suthar Software Consultant Knoldus software LLP
  • 2. Agenda ● Introduction to OAuth2 ● Problems before OAuth2 ● Definations ● Flow of OAuth2 ● Problems with OAuth 1.0 ● Problems with Oauth2 ● Concept of Refresh Token ● Code and Demo
  • 3. Introduction of OAuth2 “The OAuth 2.0 authorization framework enables a third-party application to obtain limited access to an HTTP service, either on behalf of a resource owner by orchestrating an approval interaction between the resource owner and the HTTP service, or by allowing the third-party application to obtain access on its own behalf.”
  • 4. Problems before OAuth2 ● Apps store the user’s password ● Apps get complete access to a user’s account ● Users can’t revoke access to an app except by changing their password ● Compromised apps expose the user’s password
  • 5. Definations ● Resource Owner: The User ● Resource Server: The API ● Authorization Server: Often the same as the API server ● Client: The Third-Party Application
  • 8. ● Signing Every Request : Having the client generate signatures on every API request and validating them on the server everytime a request is received, proved to be major setback for developers, as they had to parse, encode and sort the parameters before making a request. OAuth 2.0 removed this complexity by simply sending the tokens over SSL, solving the same problem at network level. No signatures are required with OAuth 2.0. ● Addressing Native Applications : With the evolution of native applications for mobile devices, the web-based flow of OAuth 1.0 seemed inefficient, mandating the use of user-agents like a Web Browser. OAuth 2.0 have accommodated more flows specifically suitable for native applications. ● Clear Separation of Roles : OAuth 2.0 provides the much needed separation of roles for the authorization server authenticating and authorizing the client, and that of the resource server handling API calls to access restricted resources. Problems with Oauth 1.0
  • 9. ● Interoperability: Adding too many extension points in the spec resulted in implementations that are not compatible with each other, what that means is that you cannot hope to write a generic piece of code which uses Endpoint Discovery to know about the endpoints provided by the different implementations and interact with them, rather you would have to write separate pieces of code for Facebook, Google, Salesforce and so on. ● Short Lived Tokens: The spec does not mandate the lifetime and scope of the issued tokens. The implementation is free to have a token live forever. Although most of the implementations provide us with short-lived access tokens and a refresh token, which can be used to get a fresh access token. ● Security: The spec just "recommends" the use of SSL/TLS while sending the tokens in plaintext over the wire. Although, every major implementation has made it a requirement to have secure authorization endpoints as well require that the client must have a secure redirection URL, otherwise it will be way too easy for an attacker to eavesdrop on the communication and decipher the tokens. Problems with Oauth2