Embed presentation
Download as PDF, PPTX
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