Kaunas jug presentation

A
1
Introduction to Oauth
2
About me
Adomas Greičius
Java /Scala developer
3
Pre Oauth time
If You want to send invitation to
everyone that is in your email
address book using third party
service, you need to share
credential
It could not work if there is two
factor authentication
If it works that third party
has access to all
additional services like
Wallet or Pictures
4
Glossary of OAuth terms
●
* Resource owner (a.k.a. the User) - An entity capable of granting access to a protected resource.
When the resource owner is a person, it is referred to as an end-user.
●
* Resource server (a.k.a. the API server) - The server hosting the protected resources, capable of
accepting and responding to protected resource requests using access tokens.
●
* Client - An application making protected resource requests on behalf of the resource owner and
with its authorization. The term client does not imply any particular implementation characteristics
(e.g. whether the application executes on a server, a desktop, or other devices).
●
* Authorization server - The server issuing access tokens to the client after successfully
authenticating the resource owner and obtaining authorization.
5
How it work with oauth?
User
Client
Protected
Resource
Oauth2
6
Oauth Endpoint
Authorization Endpoint
The authorization endpoint is the endpoint on the authorization
server where the resource owner logs in, and grants
authorization to the client application.
Token Endpoint
The token endpoint is the endpoint on the authorization server
where the client application exchanges the authorization code,
client ID and client secret, for an access token.
7
Type oauth
●
Authorization code grant
●
Implicit grant
●
Resource owner credentials grant
●
Client credentials grant
●
Refresh token grant
8
Authorization code grant
Browser Client
Protected Resource
OAuth server
1.Get mail 2. Get Mail
3. Get mail
4. Not authorized
5. Redirect to Oauth
6.openoauthpage
7.Loginpage
9. Puts credentials
10putscrediantails
11.Redirecttoclient
12.Get main 15. Get mail
16. Return mail
17. Return mail
8 .Ask credentials
13.Getaccesstoken
14.Returnaccesstoken
18. Return mail
9
Authorization Request
The authorization request is sent to the authorization endpoint to obtain an
authorization code. Here are the parameters used in the request:
●
response_type Required. Must be set to code
●
client_id Required. The client identifier as assigned by the authorization server,
when the client was registered.
●
redirect_uri Optional. The redirect URI registered by the client.
●
scopeOptional. The possible scope of the request.
●
state Optional (recommended). Any client state that needs to be passed on to the
client request URI.
10
Token Request
client_id Required. The client application's id.
client_secret Required. The client application's client secret
.
grant_type Required. Must be set to authorization_code .
code Required. The authorization code received by the
authorization server.
redirect_uri Required, if the request URI was included in the
authorization request. Must be identical then.
11
Demo
12
Implicit grant
Browser Client
Protected Resource
OAuth server
1.Get mail 2. Get Mail
3. Get mail
4. Not authorized
5. Redirect to Oauth
6.openoauthpage
7.Loginpage
9. Puts credentials
10putscrediantails
11.Redirecttoclient
12.Get main 13. Get mail
14. Return mail
15. Return mail
8 .Ask credentials
16. Return mail
13
Demo
14
Resource owner credentials grant
Browser Client
Protected Resource
OAuth server
1.Get mail 2. Get Mail
3. Get mail
4. Not authorized
5. Redirect to Login page
10Returntoken
7. Puts credentials
9Gettoken
8.Pass credentials 11. Get mail
12. Return mail
13. Return mail
6 .Ask credentials
14. Return mail
15
Demo
16
Client credentials grant
Browser Client
Protected Resource
OAuth server
1.Get mail 2. Get Mail
6. Get mail
5Returntoken
4Gettoken
7. Return mail
9. Return mail
10. Return mail
17
Props
●
Ease.
●
Time.
●
Privacy.
●
Security.
●
Control.
●
Save Expenses.
●
Popularity.
18
Cons
●
Lack of anonymity.
●
Lack of market saturation.
●
Phishing.
●
Many eggs in one basket.
●
Bad precedents.
1 of 18

Recommended

An introduction to OAuth 2 by
An introduction to OAuth 2An introduction to OAuth 2
An introduction to OAuth 2Sanjoy Kumar Roy
729 views31 slides
The OAuth 2.0 Authorization Framework by
The OAuth 2.0 Authorization FrameworkThe OAuth 2.0 Authorization Framework
The OAuth 2.0 Authorization FrameworkSamuele Cozzi
984 views25 slides
OAuth2 + API Security by
OAuth2 + API SecurityOAuth2 + API Security
OAuth2 + API SecurityAmila Paranawithana
9K views43 slides
Introduction to OAuth2.0 by
Introduction to OAuth2.0Introduction to OAuth2.0
Introduction to OAuth2.0Oracle Corporation
3.3K views18 slides
OAuth2 primer by
OAuth2 primerOAuth2 primer
OAuth2 primerManish Pandit
2.2K views35 slides
OAuth2 Presentaion by
OAuth2 PresentaionOAuth2 Presentaion
OAuth2 PresentaionBhargav Surimenu
106 views20 slides

More Related Content

What's hot

Best Practices in Building an API Security Ecosystem by
Best Practices in Building an API Security EcosystemBest Practices in Building an API Security Ecosystem
Best Practices in Building an API Security EcosystemPrabath Siriwardena
1.4K views73 slides
Security for oauth 2.0 - @topavankumarj by
Security for oauth 2.0 - @topavankumarjSecurity for oauth 2.0 - @topavankumarj
Security for oauth 2.0 - @topavankumarjPavan Kumar J
535 views44 slides
Spring security oauth2 by
Spring security oauth2Spring security oauth2
Spring security oauth2axykim00
341 views22 slides
OAuth - Alex Bilbie by
OAuth - Alex BilbieOAuth - Alex Bilbie
OAuth - Alex BilbieEduserv
584 views60 slides
Demystifying OAuth 2.0 by
Demystifying OAuth 2.0Demystifying OAuth 2.0
Demystifying OAuth 2.0Karl McGuinness
7.5K views57 slides
OAuth2 - Introduction by
OAuth2 - IntroductionOAuth2 - Introduction
OAuth2 - IntroductionKnoldus Inc.
6.3K views12 slides

What's hot(20)

Best Practices in Building an API Security Ecosystem by Prabath Siriwardena
Best Practices in Building an API Security EcosystemBest Practices in Building an API Security Ecosystem
Best Practices in Building an API Security Ecosystem
Prabath Siriwardena1.4K views
Security for oauth 2.0 - @topavankumarj by Pavan Kumar J
Security for oauth 2.0 - @topavankumarjSecurity for oauth 2.0 - @topavankumarj
Security for oauth 2.0 - @topavankumarj
Pavan Kumar J535 views
Spring security oauth2 by axykim00
Spring security oauth2Spring security oauth2
Spring security oauth2
axykim00341 views
OAuth - Alex Bilbie by Eduserv
OAuth - Alex BilbieOAuth - Alex Bilbie
OAuth - Alex Bilbie
Eduserv584 views
OAuth2 - Introduction by Knoldus Inc.
OAuth2 - IntroductionOAuth2 - Introduction
OAuth2 - Introduction
Knoldus Inc.6.3K views
Extended Security with WSO2 API Management Platform by WSO2
Extended Security with WSO2 API Management PlatformExtended Security with WSO2 API Management Platform
Extended Security with WSO2 API Management Platform
WSO21.8K views
Microservice security with spring security 5.1,Oauth 2.0 and open id connect by Nilanjan Roy
Microservice security with spring security 5.1,Oauth 2.0 and open id connect Microservice security with spring security 5.1,Oauth 2.0 and open id connect
Microservice security with spring security 5.1,Oauth 2.0 and open id connect
Nilanjan Roy75 views
Spring4 security oauth2 by axykim00
Spring4 security oauth2Spring4 security oauth2
Spring4 security oauth2
axykim0075 views
Spring4 security oauth2 by Sang Shin
Spring4 security oauth2Spring4 security oauth2
Spring4 security oauth2
Sang Shin281 views
Protecting your APIs with Doorkeeper and OAuth 2.0 by Mads Toustrup-Lønne
Protecting your APIs with Doorkeeper and OAuth 2.0Protecting your APIs with Doorkeeper and OAuth 2.0
Protecting your APIs with Doorkeeper and OAuth 2.0

Similar to Kaunas jug presentation

Full stack security by
Full stack securityFull stack security
Full stack securityDPC Consulting Ltd
3K views35 slides
.NET Core, ASP.NET Core Course, Session 19 by
 .NET Core, ASP.NET Core Course, Session 19 .NET Core, ASP.NET Core Course, Session 19
.NET Core, ASP.NET Core Course, Session 19aminmesbahi
475 views49 slides
Stateless Auth using OAUTH2 & JWT by
Stateless Auth using OAUTH2 & JWTStateless Auth using OAUTH2 & JWT
Stateless Auth using OAUTH2 & JWTMobiliya
1K views73 slides
Oauth2 and OWSM OAuth2 support by
Oauth2 and OWSM OAuth2 supportOauth2 and OWSM OAuth2 support
Oauth2 and OWSM OAuth2 supportGaurav Sharma
4K views45 slides
Intro to OAuth2 and OpenID Connect by
Intro to OAuth2 and OpenID ConnectIntro to OAuth2 and OpenID Connect
Intro to OAuth2 and OpenID ConnectLiamWadman
139 views15 slides
OAuth 2.0 - The fundamentals, the good , the bad, technical primer and commo... by
OAuth 2.0  - The fundamentals, the good , the bad, technical primer and commo...OAuth 2.0  - The fundamentals, the good , the bad, technical primer and commo...
OAuth 2.0 - The fundamentals, the good , the bad, technical primer and commo...Good Dog Labs, Inc.
2.2K views27 slides

Similar to Kaunas jug presentation(20)

.NET Core, ASP.NET Core Course, Session 19 by aminmesbahi
 .NET Core, ASP.NET Core Course, Session 19 .NET Core, ASP.NET Core Course, Session 19
.NET Core, ASP.NET Core Course, Session 19
aminmesbahi475 views
Stateless Auth using OAUTH2 & JWT by Mobiliya
Stateless Auth using OAUTH2 & JWTStateless Auth using OAUTH2 & JWT
Stateless Auth using OAUTH2 & JWT
Mobiliya1K views
Oauth2 and OWSM OAuth2 support by Gaurav Sharma
Oauth2 and OWSM OAuth2 supportOauth2 and OWSM OAuth2 support
Oauth2 and OWSM OAuth2 support
Gaurav Sharma4K views
Intro to OAuth2 and OpenID Connect by LiamWadman
Intro to OAuth2 and OpenID ConnectIntro to OAuth2 and OpenID Connect
Intro to OAuth2 and OpenID Connect
LiamWadman139 views
OAuth 2.0 - The fundamentals, the good , the bad, technical primer and commo... by Good Dog Labs, Inc.
OAuth 2.0  - The fundamentals, the good , the bad, technical primer and commo...OAuth 2.0  - The fundamentals, the good , the bad, technical primer and commo...
OAuth 2.0 - The fundamentals, the good , the bad, technical primer and commo...
Good Dog Labs, Inc.2.2K views
Stateless Auth using OAuth2 & JWT by Gaurav Roy
Stateless Auth using OAuth2 & JWTStateless Auth using OAuth2 & JWT
Stateless Auth using OAuth2 & JWT
Gaurav Roy11.5K views
(1) OAuth 2.0 Overview by anikristo
(1) OAuth 2.0 Overview(1) OAuth 2.0 Overview
(1) OAuth 2.0 Overview
anikristo560 views
CIS 2012 - Going Mobile with PingFederate and OAuth 2 by scotttomilson
CIS 2012 - Going Mobile with PingFederate and OAuth 2CIS 2012 - Going Mobile with PingFederate and OAuth 2
CIS 2012 - Going Mobile with PingFederate and OAuth 2
scotttomilson3.7K views
Data Synchronization Patterns in Mobile Application Design by Eric Maxwell
Data Synchronization Patterns in Mobile Application DesignData Synchronization Patterns in Mobile Application Design
Data Synchronization Patterns in Mobile Application Design
Eric Maxwell7.6K views
CNIT 128: 6: Mobile services and mobile Web (part 1: Beginning Through OAuth) by Sam Bowne
CNIT 128: 6: Mobile services and mobile Web (part 1: Beginning Through OAuth)CNIT 128: 6: Mobile services and mobile Web (part 1: Beginning Through OAuth)
CNIT 128: 6: Mobile services and mobile Web (part 1: Beginning Through OAuth)
Sam Bowne421 views
(4) OAuth 2.0 Obtaining Authorization by anikristo
(4) OAuth 2.0 Obtaining Authorization(4) OAuth 2.0 Obtaining Authorization
(4) OAuth 2.0 Obtaining Authorization
anikristo295 views
1000 ways to die in mobile oauth by Priyanka Aash
1000 ways to die in mobile oauth1000 ways to die in mobile oauth
1000 ways to die in mobile oauth
Priyanka Aash1.3K views
Creating a Sign On with Open id connect by Derek Binkley
Creating a Sign On with Open id connectCreating a Sign On with Open id connect
Creating a Sign On with Open id connect
Derek Binkley1.4K views
What the Heck is OAuth and OIDC - UberConf 2018 by Matt Raible
What the Heck is OAuth and OIDC - UberConf 2018What the Heck is OAuth and OIDC - UberConf 2018
What the Heck is OAuth and OIDC - UberConf 2018
Matt Raible618 views

Recently uploaded

Opportunities for Youth in IG - Alena Muravska RIPE NCC.pdf by
Opportunities for Youth in IG - Alena Muravska RIPE NCC.pdfOpportunities for Youth in IG - Alena Muravska RIPE NCC.pdf
Opportunities for Youth in IG - Alena Muravska RIPE NCC.pdfRIPE NCC
9 views12 slides
OMS: Diretrizes para um controle da promoção comercial dos ditos substitutos ... by
OMS: Diretrizes para um controle da promoção comercial dos ditos substitutos ...OMS: Diretrizes para um controle da promoção comercial dos ditos substitutos ...
OMS: Diretrizes para um controle da promoção comercial dos ditos substitutos ...Prof. Marcus Renato de Carvalho
88 views24 slides
Existing documentaries (1).docx by
Existing documentaries (1).docxExisting documentaries (1).docx
Existing documentaries (1).docxMollyBrown86
13 views5 slides
information by
informationinformation
informationkhelgishekhar
8 views4 slides
IGF UA - Dialog with I_ organisations - Alena Muavska RIPE NCC.pdf by
IGF UA - Dialog with I_ organisations - Alena Muavska RIPE NCC.pdfIGF UA - Dialog with I_ organisations - Alena Muavska RIPE NCC.pdf
IGF UA - Dialog with I_ organisations - Alena Muavska RIPE NCC.pdfRIPE NCC
15 views11 slides
IETF 118: Starlink Protocol Performance by
IETF 118: Starlink Protocol PerformanceIETF 118: Starlink Protocol Performance
IETF 118: Starlink Protocol PerformanceAPNIC
186 views22 slides

Recently uploaded(20)

Opportunities for Youth in IG - Alena Muravska RIPE NCC.pdf by RIPE NCC
Opportunities for Youth in IG - Alena Muravska RIPE NCC.pdfOpportunities for Youth in IG - Alena Muravska RIPE NCC.pdf
Opportunities for Youth in IG - Alena Muravska RIPE NCC.pdf
RIPE NCC9 views
Existing documentaries (1).docx by MollyBrown86
Existing documentaries (1).docxExisting documentaries (1).docx
Existing documentaries (1).docx
MollyBrown8613 views
IGF UA - Dialog with I_ organisations - Alena Muavska RIPE NCC.pdf by RIPE NCC
IGF UA - Dialog with I_ organisations - Alena Muavska RIPE NCC.pdfIGF UA - Dialog with I_ organisations - Alena Muavska RIPE NCC.pdf
IGF UA - Dialog with I_ organisations - Alena Muavska RIPE NCC.pdf
RIPE NCC15 views
IETF 118: Starlink Protocol Performance by APNIC
IETF 118: Starlink Protocol PerformanceIETF 118: Starlink Protocol Performance
IETF 118: Starlink Protocol Performance
APNIC186 views
PORTFOLIO 1 (Bret Michael Pepito).pdf by brejess0410
PORTFOLIO 1 (Bret Michael Pepito).pdfPORTFOLIO 1 (Bret Michael Pepito).pdf
PORTFOLIO 1 (Bret Michael Pepito).pdf
brejess04107 views
𝐒𝐨𝐥𝐚𝐫𝐖𝐢𝐧𝐝𝐬 𝐂𝐚𝐬𝐞 𝐒𝐭𝐮𝐝𝐲 by Infosec train
𝐒𝐨𝐥𝐚𝐫𝐖𝐢𝐧𝐝𝐬 𝐂𝐚𝐬𝐞 𝐒𝐭𝐮𝐝𝐲𝐒𝐨𝐥𝐚𝐫𝐖𝐢𝐧𝐝𝐬 𝐂𝐚𝐬𝐞 𝐒𝐭𝐮𝐝𝐲
𝐒𝐨𝐥𝐚𝐫𝐖𝐢𝐧𝐝𝐬 𝐂𝐚𝐬𝐞 𝐒𝐭𝐮𝐝𝐲
Infosec train9 views
Building trust in our information ecosystem: who do we trust in an emergency by Tina Purnat
Building trust in our information ecosystem: who do we trust in an emergencyBuilding trust in our information ecosystem: who do we trust in an emergency
Building trust in our information ecosystem: who do we trust in an emergency
Tina Purnat92 views
UiPath Document Understanding_Day 3.pptx by UiPathCommunity
UiPath Document Understanding_Day 3.pptxUiPath Document Understanding_Day 3.pptx
UiPath Document Understanding_Day 3.pptx
UiPathCommunity101 views
Serverless cloud architecture patterns by Jimmy Dahlqvist
Serverless cloud architecture patternsServerless cloud architecture patterns
Serverless cloud architecture patterns
Jimmy Dahlqvist17 views
AI Powered event-driven translation bot by Jimmy Dahlqvist
AI Powered event-driven translation botAI Powered event-driven translation bot
AI Powered event-driven translation bot
Jimmy Dahlqvist16 views

Kaunas jug presentation

  • 3. 3 Pre Oauth time If You want to send invitation to everyone that is in your email address book using third party service, you need to share credential It could not work if there is two factor authentication If it works that third party has access to all additional services like Wallet or Pictures
  • 4. 4 Glossary of OAuth terms ● * Resource owner (a.k.a. the User) - An entity capable of granting access to a protected resource. When the resource owner is a person, it is referred to as an end-user. ● * Resource server (a.k.a. the API server) - The server hosting the protected resources, capable of accepting and responding to protected resource requests using access tokens. ● * Client - An application making protected resource requests on behalf of the resource owner and with its authorization. The term client does not imply any particular implementation characteristics (e.g. whether the application executes on a server, a desktop, or other devices). ● * Authorization server - The server issuing access tokens to the client after successfully authenticating the resource owner and obtaining authorization.
  • 5. 5 How it work with oauth? User Client Protected Resource Oauth2
  • 6. 6 Oauth Endpoint Authorization Endpoint The authorization endpoint is the endpoint on the authorization server where the resource owner logs in, and grants authorization to the client application. Token Endpoint The token endpoint is the endpoint on the authorization server where the client application exchanges the authorization code, client ID and client secret, for an access token.
  • 7. 7 Type oauth ● Authorization code grant ● Implicit grant ● Resource owner credentials grant ● Client credentials grant ● Refresh token grant
  • 8. 8 Authorization code grant Browser Client Protected Resource OAuth server 1.Get mail 2. Get Mail 3. Get mail 4. Not authorized 5. Redirect to Oauth 6.openoauthpage 7.Loginpage 9. Puts credentials 10putscrediantails 11.Redirecttoclient 12.Get main 15. Get mail 16. Return mail 17. Return mail 8 .Ask credentials 13.Getaccesstoken 14.Returnaccesstoken 18. Return mail
  • 9. 9 Authorization Request The authorization request is sent to the authorization endpoint to obtain an authorization code. Here are the parameters used in the request: ● response_type Required. Must be set to code ● client_id Required. The client identifier as assigned by the authorization server, when the client was registered. ● redirect_uri Optional. The redirect URI registered by the client. ● scopeOptional. The possible scope of the request. ● state Optional (recommended). Any client state that needs to be passed on to the client request URI.
  • 10. 10 Token Request client_id Required. The client application's id. client_secret Required. The client application's client secret . grant_type Required. Must be set to authorization_code . code Required. The authorization code received by the authorization server. redirect_uri Required, if the request URI was included in the authorization request. Must be identical then.
  • 12. 12 Implicit grant Browser Client Protected Resource OAuth server 1.Get mail 2. Get Mail 3. Get mail 4. Not authorized 5. Redirect to Oauth 6.openoauthpage 7.Loginpage 9. Puts credentials 10putscrediantails 11.Redirecttoclient 12.Get main 13. Get mail 14. Return mail 15. Return mail 8 .Ask credentials 16. Return mail
  • 14. 14 Resource owner credentials grant Browser Client Protected Resource OAuth server 1.Get mail 2. Get Mail 3. Get mail 4. Not authorized 5. Redirect to Login page 10Returntoken 7. Puts credentials 9Gettoken 8.Pass credentials 11. Get mail 12. Return mail 13. Return mail 6 .Ask credentials 14. Return mail
  • 16. 16 Client credentials grant Browser Client Protected Resource OAuth server 1.Get mail 2. Get Mail 6. Get mail 5Returntoken 4Gettoken 7. Return mail 9. Return mail 10. Return mail
  • 18. 18 Cons ● Lack of anonymity. ● Lack of market saturation. ● Phishing. ● Many eggs in one basket. ● Bad precedents.