SlideShare a Scribd company logo
OAuth 2.0 &
OpenID Connect
@nov

OpenID Foundation Japan Evangelist
OAuth.jp
Ruby Libraries
  rack-oauth2
  openid_connect
  fb_graph

                                     OpenSource Conference 2011
OpenSource Conference 2011
Current Trend

Mobile       Game        Social




                         OpenID TechNight #7
Platform   3rd-party Developers

                       OpenSource Conference 2011
API Integration



Access Control for APIs

                          OpenID TechNight #7
OpenID TechNight #7
Using same password
 on 10+ services??



                OpenID TechNight #7
OAuth

No password sharing
Limited access lifetime
  Expire a*er N weeks
Limited access scope
  Status Update : OK
  Read Inbox : NG

                            OpenID TechNight #7
B2B is slow though..




                  OpenID TechNight #7
Rough History



                OpenID TechNight #7
2007.12 OAuth 1.0



                OpenID TechNight #7
Twitter API
              OpenID TechNight #7
2010.04 OAuth 2.0
     (dra* 0)



               OpenID TechNight #7
Facebook Graph API
                OpenID TechNight #7
2010.07 dra* 10



                  OpenID TechNight #7
mixi Graph API
                 OpenID TechNight #7
OpenID TechNight #7
2011.09 dra* 22



                  OpenID TechNight #7
OAuth 1.0   OAuth 2.0




             OpenSource Conference 2011
OAuth 1.0 in Japanese
     ju.mp/oauth1_ja

OAuth 2.0 in Japanese
     ju.mp/oauth2_ja



                       OpenSource Conference 2011
OpenSource Conference 2011
Authorization
                                         Server
 Authorize
Client Access
                         Access
                         Token
                                       Resource
                                         Server
Resource
 Owner                    API
                Client
                         Access


                                    OpenID TechNight #7
Authorization
                                         Server
 Authorize
Client Access
                         Access
                         Token
                                       Resource
                                         Server
Resource
 Owner                    API
                Client
                         Access


                                    OpenID TechNight #7
Authorization
                                         Server
 Authorize
Client Access
                         Access
                         Token
                                       Resource
                                         Server
Resource
 Owner                    API
                Client
                         Access


                                    OpenID TechNight #7
Core Spec
                                  Authorization
                                         Server
 Authorize
Client Access
                         Access
                         Token
                                       Resource
                                         Server
Resource
 Owner                    API
                Client
                         Access

 Token Type Spec                    OpenID TechNight #7
Core Spec

                                    Authorization
                                           Server
  Authorize
 Client Access
                           Access
                           Token
                                        Resource
                                          Server
Resource
 Owner
                  Client    API
                           Access


                                      OpenID TechNight #7
Core            Response Type

   2 Response Types in Core
       Code
       Token
   Extensions
       Code + Token
       and more..

                              OpenSource Conference 2011
Core    response_type = code
Resource Owner                Client          Authorization Server


                 Initiate

           Require Approval

                 Approve

                                          Code

                                          Code
                                       Access Token
                                                  OpenID TechNight #7
Core    response_type = code
Resource Owner                 Client           Authorization Server


                 Initiate

           Require Approval

                 Approve
                     client_id=...&
                     response_type=code&Code
                     redirect_uri=https://...&
                     scope=...               Code
                                         Access Token
                                              OpenSource Conference 2011
Core    response_type = code
Resource Owner                Client          Authorization Server


                 Initiate

           Require Approval

                 Approve

                                          Code

                                          Code
                                       Access Token
                                            OpenSource Conference 2011
Core    response_type = code
Resource Owner                Client          Authorization Server


                 Initiate

           Require Approval

                 Approve

                                          Code

                                          Code
                                       Access Token
                                            OpenSource Conference 2011
Core    response_type = code
Resource Owner               Client           Authorization Server


                 Initiate

           Require Approvalcode=...&
                            client_id=...&
                 Approve    client_secret=...&
                            grant_type=authorization_code&
                            redirect_uri=https://...
                                           Code

                                          Code
                                       Access Token
                                            OpenSource Conference 2011
Core    response_type = code
Resource Owner                      Client                Authorization Server


                  Initiate

           Require Approval

                 Approve

                                                       Code
                 [NOTE] Facebook API returns access token in x-www-form-urlencoded

                                                     Code
                                                 Access Token
                                                        OpenSource Conference 2011
Core   response_type = token
Resource Owner                Client   Authorization Server


                 Initiate


           Require Approval


                 Approve


             Access Token


                                          OpenID TechNight #7
Core   response_type = token
Resource Owner                Client            Authorization Server


                 Initiate


           Require Approval


                 Approve
                     client_id=...&
                    response_type=token&
                    redirect_uri=https://...&
             Access Token
                    scope=...

                                                   OpenID TechNight #7
Core   response_type = token
Resource Owner                Client   Authorization Server


                 Initiate


           Require Approval


                 Approve


             Access Token


                                          OpenID TechNight #7
Core            Response Type
  Code                      Token
       Secure                Efficient
       2 HTTP request        1 HTTP request
         Require Approval      Both at once
         Get Access Token



                                       + extensions
                                       OpenID TechNight #7
Token Type Spec

                                   Authorization
                                          Server
  Authorize
 Client Access
                          Access
                          Token
                                       Resource
                                         Server
Resource
 Owner
                 Client    API
                          Access


                                     OpenID TechNight #7
Token      Token Type Spec
  Bearer              MAC
    No signature       Signature
    No token secret    Token secret
    Mainstream         Similar to OAuth 1.0




                                + extensions
                                   OpenID TechNight #7
Token        Token Type Spec
   Bearer                      MAC
     No signature               Signature
     No token secret            Token secret
     Mainstream                 Similar to OAuth 1.0

In most cases, you use this.


                                         + extensions
                                            OpenID TechNight #7
Token    Bearer Token

        Access Token Response




                                OpenID TechNight #7
Token   API Access (Bearer)




                         OpenID TechNight #7
BUT
  OpenSource Conference 2011
Not all API providers
follow the latest dra*..



                  OpenSource Conference 2011
NO “token_type”

Access Token Response




                        OpenID TechNight #7
Different Scheme/Parameter



              OAuth




               oauth_token

                      OpenID TechNight #7
#MA7 Mashup Caravan & Meetup in Kyoto
OpenSource Conference 2011
OpenID is dead!?
Poor UX? URL as identifier?
                     OpenSource Conference 2011
Lack of API access!?
You need “stream access”, don’t you?
                          OpenSource Conference 2011
OpenID Connect
~ OpenID based on OAuth 2.0 ~
                      OpenSource Conference 2011
ref.) slideshare.net/oid;/openidconnect-nat
                  OpenSource Conference 2011
Authorization
                                         Server
 Authorize
Client Access
                         Access
                         Token
                                       Resource
                                         Server
Resource
 Owner                    API
                Client
                         Access


                                    OpenID TechNight #7
Basic Flow
Resource Owner                Client   Authorization Server


                 Initiate


           Require Approval


                 Approve


             Access Token


                                          OpenID TechNight #7
Basic Flow
Resource Owner                Client   Authorization Server


                 Initiate


           Require Approval


                 Approve
            client_id=...&
            response_type=token+id_token&
            redirect_uri=https://...&
             Access Token
            scope=openid

                                            OpenID TechNight #7
Basic Flow
Resource Owner                Client   Authorization Server


                 Initiate


           Require Approval


                 Approve


             Access Token


                                          OpenID TechNight #7
OAuth 2.0 + “ID Token”



                OpenSource Conference 2011
connect-rp.heroku.com



               OpenSource Conference 2011
ID Token


Represent Session Information
JWT-encoded JSON Object
  Singed using JWS
  Encrypted using JWE



                                OpenSource Conference 2011
OpenSource Conference 2011
OpenSource Conference 2011
UserInfo


OAuth 2.0 Protected Resource
  REQUIRED “profile” scope
  OPTIONAL “email” and “address” scopes
Standardized JSON Format
  PoCo (Portable Contacts) + Facebook Graph API


                                   OpenSource Conference 2011
OpenSource Conference 2011
OpenSource Conference 2011
OpenSource Conference 2011
So, why these matters?



                 OpenSource Conference 2011
Social
         OpenSource Conference 2011
Cloud
        OpenSource Conference 2011
Living in the Web
            OpenSource Conference 2011
Applications
People
Streams
Access Control
Identity
Discovery
                 OpenSource Conference 2011
OpenID Summit Tokyo
in Tokyo, Japan December 1, 2011




                        OpenSource Conference 2011
twitter.com/nov



slideshare.net/matake



github.com/nov



openid-foundation-japan.github.com

                        OpenSource Conference 2011
Ad

Recommended

OpenID Connect Explained
OpenID Connect Explained
Vladimir Dzhuvinov
 
Mit 2014 introduction to open id connect and o-auth 2
Mit 2014 introduction to open id connect and o-auth 2
Justin Richer
 
OAuth 2.0 Updates #technight
OAuth 2.0 Updates #technight
Nov Matake
 
OpenID Connect 1.0 Explained
OpenID Connect 1.0 Explained
Eugene Siow
 
Full stack security
Full stack security
DPC Consulting Ltd
 
OpenID Connect 101 @ OpenID TechNight vol.11
OpenID Connect 101 @ OpenID TechNight vol.11
Nov Matake
 
OpenID Connect - An Emperor or Just New Cloths?
OpenID Connect - An Emperor or Just New Cloths?
Oliver Pfaff
 
Understanding OpenID
Understanding OpenID
Prabath Siriwardena
 
Single Sign On with OAuth and OpenID
Single Sign On with OAuth and OpenID
Gasperi Jerome
 
OpenID Connect: The new standard for connecting to your Customers, Partners, ...
OpenID Connect: The new standard for connecting to your Customers, Partners, ...
Salesforce Developers
 
OAuth 2.0 and Mobile Devices: Is that a token in your phone in your pocket or...
OAuth 2.0 and Mobile Devices: Is that a token in your phone in your pocket or...
Brian Campbell
 
CIS14: Consolidating Authorization for API and Web SSO using OpenID Connect
CIS14: Consolidating Authorization for API and Web SSO using OpenID Connect
CloudIDSummit
 
Stateless authentication with OAuth 2 and JWT - JavaZone 2015
Stateless authentication with OAuth 2 and JWT - JavaZone 2015
Alvaro Sanchez-Mariscal
 
Sign in with Apple
Sign in with Apple
Nov Matake
 
OpenID Connect: An Overview
OpenID Connect: An Overview
Pat Patterson
 
CIS14: Working with OAuth and OpenID Connect
CIS14: Working with OAuth and OpenID Connect
CloudIDSummit
 
Incorporating OAuth: How to integrate OAuth into your mobile app
Incorporating OAuth: How to integrate OAuth into your mobile app
Nordic APIs
 
LASCON 2017: SAML v. OpenID v. Oauth
LASCON 2017: SAML v. OpenID v. Oauth
Mike Schwartz
 
OpenID Connect and Single Sign-On for Beginners
OpenID Connect and Single Sign-On for Beginners
Salesforce Developers
 
OpenID Connect vs. OpenID 1 & 2
OpenID Connect vs. OpenID 1 & 2
Mike Schwartz
 
ID連携入門 (実習編) - Security Camp 2016
ID連携入門 (実習編) - Security Camp 2016
Nov Matake
 
NextGenPSD2 OAuth SCA Mode Security Recommendations
NextGenPSD2 OAuth SCA Mode Security Recommendations
Torsten Lodderstedt
 
OAuth 2.0 and OpenId Connect
OAuth 2.0 and OpenId Connect
Saran Doraiswamy
 
Consideration on Holder-of-Key Bound Token < from Financial-grade API (FAPI) ...
Consideration on Holder-of-Key Bound Token < from Financial-grade API (FAPI) ...
Hitachi, Ltd. OSS Solution Center.
 
OAuth 2.0 Updates #technight in Osaka
OAuth 2.0 Updates #technight in Osaka
Nov Matake
 
The Client is not always right! How to secure OAuth authentication from your...
The Client is not always right! How to secure OAuth authentication from your...
Mike Schwartz
 
CIS 2012 - Going Mobile with PingFederate and OAuth 2
CIS 2012 - Going Mobile with PingFederate and OAuth 2
scotttomilson
 
Enterprise Single Sign On
Enterprise Single Sign On
WSO2
 
OAuth 2.0 #idit2012
OAuth 2.0 #idit2012
Nov Matake
 
When and Why Would I use Oauth2?
When and Why Would I use Oauth2?
Dave Syer
 

More Related Content

What's hot (20)

Single Sign On with OAuth and OpenID
Single Sign On with OAuth and OpenID
Gasperi Jerome
 
OpenID Connect: The new standard for connecting to your Customers, Partners, ...
OpenID Connect: The new standard for connecting to your Customers, Partners, ...
Salesforce Developers
 
OAuth 2.0 and Mobile Devices: Is that a token in your phone in your pocket or...
OAuth 2.0 and Mobile Devices: Is that a token in your phone in your pocket or...
Brian Campbell
 
CIS14: Consolidating Authorization for API and Web SSO using OpenID Connect
CIS14: Consolidating Authorization for API and Web SSO using OpenID Connect
CloudIDSummit
 
Stateless authentication with OAuth 2 and JWT - JavaZone 2015
Stateless authentication with OAuth 2 and JWT - JavaZone 2015
Alvaro Sanchez-Mariscal
 
Sign in with Apple
Sign in with Apple
Nov Matake
 
OpenID Connect: An Overview
OpenID Connect: An Overview
Pat Patterson
 
CIS14: Working with OAuth and OpenID Connect
CIS14: Working with OAuth and OpenID Connect
CloudIDSummit
 
Incorporating OAuth: How to integrate OAuth into your mobile app
Incorporating OAuth: How to integrate OAuth into your mobile app
Nordic APIs
 
LASCON 2017: SAML v. OpenID v. Oauth
LASCON 2017: SAML v. OpenID v. Oauth
Mike Schwartz
 
OpenID Connect and Single Sign-On for Beginners
OpenID Connect and Single Sign-On for Beginners
Salesforce Developers
 
OpenID Connect vs. OpenID 1 & 2
OpenID Connect vs. OpenID 1 & 2
Mike Schwartz
 
ID連携入門 (実習編) - Security Camp 2016
ID連携入門 (実習編) - Security Camp 2016
Nov Matake
 
NextGenPSD2 OAuth SCA Mode Security Recommendations
NextGenPSD2 OAuth SCA Mode Security Recommendations
Torsten Lodderstedt
 
OAuth 2.0 and OpenId Connect
OAuth 2.0 and OpenId Connect
Saran Doraiswamy
 
Consideration on Holder-of-Key Bound Token < from Financial-grade API (FAPI) ...
Consideration on Holder-of-Key Bound Token < from Financial-grade API (FAPI) ...
Hitachi, Ltd. OSS Solution Center.
 
OAuth 2.0 Updates #technight in Osaka
OAuth 2.0 Updates #technight in Osaka
Nov Matake
 
The Client is not always right! How to secure OAuth authentication from your...
The Client is not always right! How to secure OAuth authentication from your...
Mike Schwartz
 
CIS 2012 - Going Mobile with PingFederate and OAuth 2
CIS 2012 - Going Mobile with PingFederate and OAuth 2
scotttomilson
 
Enterprise Single Sign On
Enterprise Single Sign On
WSO2
 
Single Sign On with OAuth and OpenID
Single Sign On with OAuth and OpenID
Gasperi Jerome
 
OpenID Connect: The new standard for connecting to your Customers, Partners, ...
OpenID Connect: The new standard for connecting to your Customers, Partners, ...
Salesforce Developers
 
OAuth 2.0 and Mobile Devices: Is that a token in your phone in your pocket or...
OAuth 2.0 and Mobile Devices: Is that a token in your phone in your pocket or...
Brian Campbell
 
CIS14: Consolidating Authorization for API and Web SSO using OpenID Connect
CIS14: Consolidating Authorization for API and Web SSO using OpenID Connect
CloudIDSummit
 
Stateless authentication with OAuth 2 and JWT - JavaZone 2015
Stateless authentication with OAuth 2 and JWT - JavaZone 2015
Alvaro Sanchez-Mariscal
 
Sign in with Apple
Sign in with Apple
Nov Matake
 
OpenID Connect: An Overview
OpenID Connect: An Overview
Pat Patterson
 
CIS14: Working with OAuth and OpenID Connect
CIS14: Working with OAuth and OpenID Connect
CloudIDSummit
 
Incorporating OAuth: How to integrate OAuth into your mobile app
Incorporating OAuth: How to integrate OAuth into your mobile app
Nordic APIs
 
LASCON 2017: SAML v. OpenID v. Oauth
LASCON 2017: SAML v. OpenID v. Oauth
Mike Schwartz
 
OpenID Connect and Single Sign-On for Beginners
OpenID Connect and Single Sign-On for Beginners
Salesforce Developers
 
OpenID Connect vs. OpenID 1 & 2
OpenID Connect vs. OpenID 1 & 2
Mike Schwartz
 
ID連携入門 (実習編) - Security Camp 2016
ID連携入門 (実習編) - Security Camp 2016
Nov Matake
 
NextGenPSD2 OAuth SCA Mode Security Recommendations
NextGenPSD2 OAuth SCA Mode Security Recommendations
Torsten Lodderstedt
 
OAuth 2.0 and OpenId Connect
OAuth 2.0 and OpenId Connect
Saran Doraiswamy
 
Consideration on Holder-of-Key Bound Token < from Financial-grade API (FAPI) ...
Consideration on Holder-of-Key Bound Token < from Financial-grade API (FAPI) ...
Hitachi, Ltd. OSS Solution Center.
 
OAuth 2.0 Updates #technight in Osaka
OAuth 2.0 Updates #technight in Osaka
Nov Matake
 
The Client is not always right! How to secure OAuth authentication from your...
The Client is not always right! How to secure OAuth authentication from your...
Mike Schwartz
 
CIS 2012 - Going Mobile with PingFederate and OAuth 2
CIS 2012 - Going Mobile with PingFederate and OAuth 2
scotttomilson
 
Enterprise Single Sign On
Enterprise Single Sign On
WSO2
 

Similar to OAuth 2.0 & OpenID Connect @ OpenSource Conference 2011 Tokyo #osc11tk (20)

OAuth 2.0 #idit2012
OAuth 2.0 #idit2012
Nov Matake
 
When and Why Would I use Oauth2?
When and Why Would I use Oauth2?
Dave Syer
 
Distributed Identities with OpenID
Distributed Identities with OpenID
Bastian Hofmann
 
Distributed Identities with OpenID
Distributed Identities with OpenID
Bastian Hofmann
 
Making Sense of API Access Control
Making Sense of API Access Control
CA API Management
 
OAuth: Trust Issues
OAuth: Trust Issues
Lorna Mitchell
 
OpenID Connect Demo at OpenID Tech Night
OpenID Connect Demo at OpenID Tech Night
Daisuke Fuke
 
Oauth tutorial
Oauth tutorial
乐费 胡
 
OAuth-as-a-service using ASP.NET Web API and Windows Azure Access Control
OAuth-as-a-service using ASP.NET Web API and Windows Azure Access Control
Microsoft Developer Network (MSDN) - Belgium and Luxembourg
 
OAuth-as-a-service - using ASP.NET Web API and Windows Azure Access Control -...
OAuth-as-a-service - using ASP.NET Web API and Windows Azure Access Control -...
Maarten Balliauw
 
InterCon 2016 - Segurança de identidade digital levando em consideração uma a...
InterCon 2016 - Segurança de identidade digital levando em consideração uma a...
iMasters
 
iMasters Intercon 2016 - Identity within Microservices
iMasters Intercon 2016 - Identity within Microservices
Erick Belluci Tedeschi
 
OAuth 1.0
OAuth 1.0
Nov Matake
 
Enterprise Access Control Patterns for Rest and Web APIs
Enterprise Access Control Patterns for Rest and Web APIs
CA API Management
 
Enterprise Access Control Patterns for REST and Web APIs Gluecon 2011, Franco...
Enterprise Access Control Patterns for REST and Web APIs Gluecon 2011, Franco...
CA API Management
 
OAuth-as-a-service using ASP.NET Web API and Windows Azure Access Control
OAuth-as-a-service using ASP.NET Web API and Windows Azure Access Control
Maarten Balliauw
 
Draft Ietf Oauth V2 12
Draft Ietf Oauth V2 12
Vishal Shah
 
O Auth 2.0 The Path to Heaven from Hell
O Auth 2.0 The Path to Heaven from Hell
WSO2
 
OpenID and OAuth
OpenID and OAuth
Andrea Chiodoni
 
OAuth 2.0 with Pet Care House
OAuth 2.0 with Pet Care House
Prabath Siriwardena
 
OAuth 2.0 #idit2012
OAuth 2.0 #idit2012
Nov Matake
 
When and Why Would I use Oauth2?
When and Why Would I use Oauth2?
Dave Syer
 
Distributed Identities with OpenID
Distributed Identities with OpenID
Bastian Hofmann
 
Distributed Identities with OpenID
Distributed Identities with OpenID
Bastian Hofmann
 
Making Sense of API Access Control
Making Sense of API Access Control
CA API Management
 
OpenID Connect Demo at OpenID Tech Night
OpenID Connect Demo at OpenID Tech Night
Daisuke Fuke
 
Oauth tutorial
Oauth tutorial
乐费 胡
 
OAuth-as-a-service - using ASP.NET Web API and Windows Azure Access Control -...
OAuth-as-a-service - using ASP.NET Web API and Windows Azure Access Control -...
Maarten Balliauw
 
InterCon 2016 - Segurança de identidade digital levando em consideração uma a...
InterCon 2016 - Segurança de identidade digital levando em consideração uma a...
iMasters
 
iMasters Intercon 2016 - Identity within Microservices
iMasters Intercon 2016 - Identity within Microservices
Erick Belluci Tedeschi
 
Enterprise Access Control Patterns for Rest and Web APIs
Enterprise Access Control Patterns for Rest and Web APIs
CA API Management
 
Enterprise Access Control Patterns for REST and Web APIs Gluecon 2011, Franco...
Enterprise Access Control Patterns for REST and Web APIs Gluecon 2011, Franco...
CA API Management
 
OAuth-as-a-service using ASP.NET Web API and Windows Azure Access Control
OAuth-as-a-service using ASP.NET Web API and Windows Azure Access Control
Maarten Balliauw
 
Draft Ietf Oauth V2 12
Draft Ietf Oauth V2 12
Vishal Shah
 
O Auth 2.0 The Path to Heaven from Hell
O Auth 2.0 The Path to Heaven from Hell
WSO2
 
Ad

More from Nov Matake (20)

#idcon vol.29 - #fidcon WebAuthn, Next Stage
#idcon vol.29 - #fidcon WebAuthn, Next Stage
Nov Matake
 
FedCM - OpenID TechNight vol.19
FedCM - OpenID TechNight vol.19
Nov Matake
 
Safari (ITP) & Chrome (SameSite=Lax as default) が Federation に与える影響 - OpenID ...
Safari (ITP) & Chrome (SameSite=Lax as default) が Federation に与える影響 - OpenID ...
Nov Matake
 
FIDO @ LINE - #idcon vol.24
FIDO @ LINE - #idcon vol.24
Nov Matake
 
W3C Web Authentication - #idcon vol.24
W3C Web Authentication - #idcon vol.24
Nov Matake
 
NIST SP 800-63C - Federation and Assertions (FINAL)
NIST SP 800-63C - Federation and Assertions (FINAL)
Nov Matake
 
OPTiM StoreにおけるSCIM & OIDC活用事例 - ID&IT 2016
OPTiM StoreにおけるSCIM & OIDC活用事例 - ID&IT 2016
Nov Matake
 
NIST SP 800-63C #idcon vol.22
NIST SP 800-63C #idcon vol.22
Nov Matake
 
NIST SP 800-63-3 #idcon vol.22
NIST SP 800-63-3 #idcon vol.22
Nov Matake
 
ID連携概要 - OpenID TechNight vol.13
ID連携概要 - OpenID TechNight vol.13
Nov Matake
 
ミスコンとプライバシー ~ IdentityDuck誕生秘話 ~ #idcon
ミスコンとプライバシー ~ IdentityDuck誕生秘話 ~ #idcon
Nov Matake
 
SAML / OpenID Connect / OAuth / SCIM 技術解説 - ID&IT 2014 #idit2014
SAML / OpenID Connect / OAuth / SCIM 技術解説 - ID&IT 2014 #idit2014
Nov Matake
 
FIDO alliance #idcon vol.18
FIDO alliance #idcon vol.18
Nov Matake
 
池澤あやかと学ぼう!: はじめてのOAuthとOpenID Connect - JICS 2014
池澤あやかと学ぼう!: はじめてのOAuthとOpenID Connect - JICS 2014
Nov Matake
 
OAuth認証再考からのOpenID Connect #devlove
OAuth認証再考からのOpenID Connect #devlove
Nov Matake
 
ID & IT 2013 - OpenID Connect Hands-on
ID & IT 2013 - OpenID Connect Hands-on
Nov Matake
 
JWT Translation #technight
JWT Translation #technight
Nov Matake
 
MIT-KIT Intro at #idcon sattelite
MIT-KIT Intro at #idcon sattelite
Nov Matake
 
Self isssued-idp
Self isssued-idp
Nov Matake
 
IIW 16th Report at #idcon
IIW 16th Report at #idcon
Nov Matake
 
#idcon vol.29 - #fidcon WebAuthn, Next Stage
#idcon vol.29 - #fidcon WebAuthn, Next Stage
Nov Matake
 
FedCM - OpenID TechNight vol.19
FedCM - OpenID TechNight vol.19
Nov Matake
 
Safari (ITP) & Chrome (SameSite=Lax as default) が Federation に与える影響 - OpenID ...
Safari (ITP) & Chrome (SameSite=Lax as default) が Federation に与える影響 - OpenID ...
Nov Matake
 
FIDO @ LINE - #idcon vol.24
FIDO @ LINE - #idcon vol.24
Nov Matake
 
W3C Web Authentication - #idcon vol.24
W3C Web Authentication - #idcon vol.24
Nov Matake
 
NIST SP 800-63C - Federation and Assertions (FINAL)
NIST SP 800-63C - Federation and Assertions (FINAL)
Nov Matake
 
OPTiM StoreにおけるSCIM & OIDC活用事例 - ID&IT 2016
OPTiM StoreにおけるSCIM & OIDC活用事例 - ID&IT 2016
Nov Matake
 
NIST SP 800-63C #idcon vol.22
NIST SP 800-63C #idcon vol.22
Nov Matake
 
NIST SP 800-63-3 #idcon vol.22
NIST SP 800-63-3 #idcon vol.22
Nov Matake
 
ID連携概要 - OpenID TechNight vol.13
ID連携概要 - OpenID TechNight vol.13
Nov Matake
 
ミスコンとプライバシー ~ IdentityDuck誕生秘話 ~ #idcon
ミスコンとプライバシー ~ IdentityDuck誕生秘話 ~ #idcon
Nov Matake
 
SAML / OpenID Connect / OAuth / SCIM 技術解説 - ID&IT 2014 #idit2014
SAML / OpenID Connect / OAuth / SCIM 技術解説 - ID&IT 2014 #idit2014
Nov Matake
 
FIDO alliance #idcon vol.18
FIDO alliance #idcon vol.18
Nov Matake
 
池澤あやかと学ぼう!: はじめてのOAuthとOpenID Connect - JICS 2014
池澤あやかと学ぼう!: はじめてのOAuthとOpenID Connect - JICS 2014
Nov Matake
 
OAuth認証再考からのOpenID Connect #devlove
OAuth認証再考からのOpenID Connect #devlove
Nov Matake
 
ID & IT 2013 - OpenID Connect Hands-on
ID & IT 2013 - OpenID Connect Hands-on
Nov Matake
 
JWT Translation #technight
JWT Translation #technight
Nov Matake
 
MIT-KIT Intro at #idcon sattelite
MIT-KIT Intro at #idcon sattelite
Nov Matake
 
Self isssued-idp
Self isssued-idp
Nov Matake
 
IIW 16th Report at #idcon
IIW 16th Report at #idcon
Nov Matake
 
Ad

Recently uploaded (20)

Securing AI - There Is No Try, Only Do!.pdf
Securing AI - There Is No Try, Only Do!.pdf
Priyanka Aash
 
ReSTIR [DI]: Spatiotemporal reservoir resampling for real-time ray tracing ...
ReSTIR [DI]: Spatiotemporal reservoir resampling for real-time ray tracing ...
revolcs10
 
AI vs Human Writing: Can You Tell the Difference?
AI vs Human Writing: Can You Tell the Difference?
Shashi Sathyanarayana, Ph.D
 
10 Key Challenges for AI within the EU Data Protection Framework.pdf
10 Key Challenges for AI within the EU Data Protection Framework.pdf
Priyanka Aash
 
"Database isolation: how we deal with hundreds of direct connections to the d...
"Database isolation: how we deal with hundreds of direct connections to the d...
Fwdays
 
UserCon Belgium: Honey, VMware increased my bill
UserCon Belgium: Honey, VMware increased my bill
stijn40
 
"How to survive Black Friday: preparing e-commerce for a peak season", Yurii ...
"How to survive Black Friday: preparing e-commerce for a peak season", Yurii ...
Fwdays
 
A Constitutional Quagmire - Ethical Minefields of AI, Cyber, and Privacy.pdf
A Constitutional Quagmire - Ethical Minefields of AI, Cyber, and Privacy.pdf
Priyanka Aash
 
EIS-Webinar-Engineering-Retail-Infrastructure-06-16-2025.pdf
EIS-Webinar-Engineering-Retail-Infrastructure-06-16-2025.pdf
Earley Information Science
 
cnc-processing-centers-centateq-p-110-en.pdf
cnc-processing-centers-centateq-p-110-en.pdf
AmirStern2
 
Oh, the Possibilities - Balancing Innovation and Risk with Generative AI.pdf
Oh, the Possibilities - Balancing Innovation and Risk with Generative AI.pdf
Priyanka Aash
 
9-1-1 Addressing: End-to-End Automation Using FME
9-1-1 Addressing: End-to-End Automation Using FME
Safe Software
 
Techniques for Automatic Device Identification and Network Assignment.pdf
Techniques for Automatic Device Identification and Network Assignment.pdf
Priyanka Aash
 
PyCon SG 25 - Firecracker Made Easy with Python.pdf
PyCon SG 25 - Firecracker Made Easy with Python.pdf
Muhammad Yuga Nugraha
 
Curietech AI in action - Accelerate MuleSoft development
Curietech AI in action - Accelerate MuleSoft development
shyamraj55
 
Raman Bhaumik - Passionate Tech Enthusiast
Raman Bhaumik - Passionate Tech Enthusiast
Raman Bhaumik
 
OpenPOWER Foundation & Open-Source Core Innovations
OpenPOWER Foundation & Open-Source Core Innovations
IBM
 
" How to survive with 1 billion vectors and not sell a kidney: our low-cost c...
" How to survive with 1 billion vectors and not sell a kidney: our low-cost c...
Fwdays
 
GenAI Opportunities and Challenges - Where 370 Enterprises Are Focusing Now.pdf
GenAI Opportunities and Challenges - Where 370 Enterprises Are Focusing Now.pdf
Priyanka Aash
 
Lessons Learned from Developing Secure AI Workflows.pdf
Lessons Learned from Developing Secure AI Workflows.pdf
Priyanka Aash
 
Securing AI - There Is No Try, Only Do!.pdf
Securing AI - There Is No Try, Only Do!.pdf
Priyanka Aash
 
ReSTIR [DI]: Spatiotemporal reservoir resampling for real-time ray tracing ...
ReSTIR [DI]: Spatiotemporal reservoir resampling for real-time ray tracing ...
revolcs10
 
AI vs Human Writing: Can You Tell the Difference?
AI vs Human Writing: Can You Tell the Difference?
Shashi Sathyanarayana, Ph.D
 
10 Key Challenges for AI within the EU Data Protection Framework.pdf
10 Key Challenges for AI within the EU Data Protection Framework.pdf
Priyanka Aash
 
"Database isolation: how we deal with hundreds of direct connections to the d...
"Database isolation: how we deal with hundreds of direct connections to the d...
Fwdays
 
UserCon Belgium: Honey, VMware increased my bill
UserCon Belgium: Honey, VMware increased my bill
stijn40
 
"How to survive Black Friday: preparing e-commerce for a peak season", Yurii ...
"How to survive Black Friday: preparing e-commerce for a peak season", Yurii ...
Fwdays
 
A Constitutional Quagmire - Ethical Minefields of AI, Cyber, and Privacy.pdf
A Constitutional Quagmire - Ethical Minefields of AI, Cyber, and Privacy.pdf
Priyanka Aash
 
EIS-Webinar-Engineering-Retail-Infrastructure-06-16-2025.pdf
EIS-Webinar-Engineering-Retail-Infrastructure-06-16-2025.pdf
Earley Information Science
 
cnc-processing-centers-centateq-p-110-en.pdf
cnc-processing-centers-centateq-p-110-en.pdf
AmirStern2
 
Oh, the Possibilities - Balancing Innovation and Risk with Generative AI.pdf
Oh, the Possibilities - Balancing Innovation and Risk with Generative AI.pdf
Priyanka Aash
 
9-1-1 Addressing: End-to-End Automation Using FME
9-1-1 Addressing: End-to-End Automation Using FME
Safe Software
 
Techniques for Automatic Device Identification and Network Assignment.pdf
Techniques for Automatic Device Identification and Network Assignment.pdf
Priyanka Aash
 
PyCon SG 25 - Firecracker Made Easy with Python.pdf
PyCon SG 25 - Firecracker Made Easy with Python.pdf
Muhammad Yuga Nugraha
 
Curietech AI in action - Accelerate MuleSoft development
Curietech AI in action - Accelerate MuleSoft development
shyamraj55
 
Raman Bhaumik - Passionate Tech Enthusiast
Raman Bhaumik - Passionate Tech Enthusiast
Raman Bhaumik
 
OpenPOWER Foundation & Open-Source Core Innovations
OpenPOWER Foundation & Open-Source Core Innovations
IBM
 
" How to survive with 1 billion vectors and not sell a kidney: our low-cost c...
" How to survive with 1 billion vectors and not sell a kidney: our low-cost c...
Fwdays
 
GenAI Opportunities and Challenges - Where 370 Enterprises Are Focusing Now.pdf
GenAI Opportunities and Challenges - Where 370 Enterprises Are Focusing Now.pdf
Priyanka Aash
 
Lessons Learned from Developing Secure AI Workflows.pdf
Lessons Learned from Developing Secure AI Workflows.pdf
Priyanka Aash
 

OAuth 2.0 & OpenID Connect @ OpenSource Conference 2011 Tokyo #osc11tk

  • 2. @nov OpenID Foundation Japan Evangelist OAuth.jp Ruby Libraries rack-oauth2 openid_connect fb_graph OpenSource Conference 2011
  • 4. Current Trend Mobile Game Social OpenID TechNight #7
  • 5. Platform 3rd-party Developers OpenSource Conference 2011
  • 6. API Integration Access Control for APIs OpenID TechNight #7
  • 8. Using same password on 10+ services?? OpenID TechNight #7
  • 9. OAuth No password sharing Limited access lifetime Expire a*er N weeks Limited access scope Status Update : OK Read Inbox : NG OpenID TechNight #7
  • 10. B2B is slow though.. OpenID TechNight #7
  • 11. Rough History OpenID TechNight #7
  • 12. 2007.12 OAuth 1.0 OpenID TechNight #7
  • 13. Twitter API OpenID TechNight #7
  • 14. 2010.04 OAuth 2.0 (dra* 0) OpenID TechNight #7
  • 15. Facebook Graph API OpenID TechNight #7
  • 16. 2010.07 dra* 10 OpenID TechNight #7
  • 17. mixi Graph API OpenID TechNight #7
  • 19. 2011.09 dra* 22 OpenID TechNight #7
  • 20. OAuth 1.0 OAuth 2.0 OpenSource Conference 2011
  • 21. OAuth 1.0 in Japanese ju.mp/oauth1_ja OAuth 2.0 in Japanese ju.mp/oauth2_ja OpenSource Conference 2011
  • 23. Authorization Server Authorize Client Access Access Token Resource Server Resource Owner API Client Access OpenID TechNight #7
  • 24. Authorization Server Authorize Client Access Access Token Resource Server Resource Owner API Client Access OpenID TechNight #7
  • 25. Authorization Server Authorize Client Access Access Token Resource Server Resource Owner API Client Access OpenID TechNight #7
  • 26. Core Spec Authorization Server Authorize Client Access Access Token Resource Server Resource Owner API Client Access Token Type Spec OpenID TechNight #7
  • 27. Core Spec Authorization Server Authorize Client Access Access Token Resource Server Resource Owner Client API Access OpenID TechNight #7
  • 28. Core Response Type 2 Response Types in Core Code Token Extensions Code + Token and more.. OpenSource Conference 2011
  • 29. Core response_type = code Resource Owner Client Authorization Server Initiate Require Approval Approve Code Code Access Token OpenID TechNight #7
  • 30. Core response_type = code Resource Owner Client Authorization Server Initiate Require Approval Approve client_id=...& response_type=code&Code redirect_uri=https://...& scope=... Code Access Token OpenSource Conference 2011
  • 31. Core response_type = code Resource Owner Client Authorization Server Initiate Require Approval Approve Code Code Access Token OpenSource Conference 2011
  • 32. Core response_type = code Resource Owner Client Authorization Server Initiate Require Approval Approve Code Code Access Token OpenSource Conference 2011
  • 33. Core response_type = code Resource Owner Client Authorization Server Initiate Require Approvalcode=...& client_id=...& Approve client_secret=...& grant_type=authorization_code& redirect_uri=https://... Code Code Access Token OpenSource Conference 2011
  • 34. Core response_type = code Resource Owner Client Authorization Server Initiate Require Approval Approve Code [NOTE] Facebook API returns access token in x-www-form-urlencoded Code Access Token OpenSource Conference 2011
  • 35. Core response_type = token Resource Owner Client Authorization Server Initiate Require Approval Approve Access Token OpenID TechNight #7
  • 36. Core response_type = token Resource Owner Client Authorization Server Initiate Require Approval Approve client_id=...& response_type=token& redirect_uri=https://...& Access Token scope=... OpenID TechNight #7
  • 37. Core response_type = token Resource Owner Client Authorization Server Initiate Require Approval Approve Access Token OpenID TechNight #7
  • 38. Core Response Type Code Token Secure Efficient 2 HTTP request 1 HTTP request Require Approval Both at once Get Access Token + extensions OpenID TechNight #7
  • 39. Token Type Spec Authorization Server Authorize Client Access Access Token Resource Server Resource Owner Client API Access OpenID TechNight #7
  • 40. Token Token Type Spec Bearer MAC No signature Signature No token secret Token secret Mainstream Similar to OAuth 1.0 + extensions OpenID TechNight #7
  • 41. Token Token Type Spec Bearer MAC No signature Signature No token secret Token secret Mainstream Similar to OAuth 1.0 In most cases, you use this. + extensions OpenID TechNight #7
  • 42. Token Bearer Token Access Token Response OpenID TechNight #7
  • 43. Token API Access (Bearer) OpenID TechNight #7
  • 44. BUT OpenSource Conference 2011
  • 45. Not all API providers follow the latest dra*.. OpenSource Conference 2011
  • 46. NO “token_type” Access Token Response OpenID TechNight #7
  • 47. Different Scheme/Parameter OAuth oauth_token OpenID TechNight #7
  • 48. #MA7 Mashup Caravan & Meetup in Kyoto
  • 50. OpenID is dead!? Poor UX? URL as identifier? OpenSource Conference 2011
  • 51. Lack of API access!? You need “stream access”, don’t you? OpenSource Conference 2011
  • 52. OpenID Connect ~ OpenID based on OAuth 2.0 ~ OpenSource Conference 2011
  • 53. ref.) slideshare.net/oid;/openidconnect-nat OpenSource Conference 2011
  • 54. Authorization Server Authorize Client Access Access Token Resource Server Resource Owner API Client Access OpenID TechNight #7
  • 55. Basic Flow Resource Owner Client Authorization Server Initiate Require Approval Approve Access Token OpenID TechNight #7
  • 56. Basic Flow Resource Owner Client Authorization Server Initiate Require Approval Approve client_id=...& response_type=token+id_token& redirect_uri=https://...& Access Token scope=openid OpenID TechNight #7
  • 57. Basic Flow Resource Owner Client Authorization Server Initiate Require Approval Approve Access Token OpenID TechNight #7
  • 58. OAuth 2.0 + “ID Token” OpenSource Conference 2011
  • 59. connect-rp.heroku.com OpenSource Conference 2011
  • 60. ID Token Represent Session Information JWT-encoded JSON Object Singed using JWS Encrypted using JWE OpenSource Conference 2011
  • 63. UserInfo OAuth 2.0 Protected Resource REQUIRED “profile” scope OPTIONAL “email” and “address” scopes Standardized JSON Format PoCo (Portable Contacts) + Facebook Graph API OpenSource Conference 2011
  • 67. So, why these matters? OpenSource Conference 2011
  • 68. Social OpenSource Conference 2011
  • 69. Cloud OpenSource Conference 2011
  • 70. Living in the Web OpenSource Conference 2011
  • 72. OpenID Summit Tokyo in Tokyo, Japan December 1, 2011 OpenSource Conference 2011