SlideShare a Scribd company logo
1 of 18
•   名前
    • Ryo Ito   (id:ritou)
•   アカウント
    • twitter,friendfeed,hatena : ritou
•   ブログ
    • r-weblife http://d.hatena.ne.jp/ritou/
       • 内容はOpenID/OAuthあたりが多め
•   所属
    • OpenID OP かつ OAuth SPな会社
    • 2010年5月現在、社会人5年目
 2010年5月5日時点で、以下の資料を参考にして
  OAuth 2.0の仕様を噛み砕いている自分用メモ
  です。
 全てを解説するのは無理なのであとで小分けに
  ブログで書く予定ですが、話についてこれる方
  は参考にしてみてください。
 The OAuth 2.0 Protocol draft-hammer-
  oauth2-00
    http://tools.ietf.org/html/draft-hammer-oauth2-00
   Facebook Developers Document
    http://developers.facebook.com/docs/authentication
      /
   今回見ておくところは以下の2点!
    › Terminology : 新しい登場人物とかいない?
    › AuthZ flow : Clientの特性や環境によって想定さ
     れているAccessToken取得までのフロー
あまり劇的な変更はなさそう
 resource server : APIサーバ
 protected resource : APIでやりとりされるデータ
 client : Consumer(OAuth 1.0a)
 resource owner
 end user
 access token
 authorization server : SP(OAuth 1.0a)
 authorization endpoint
 token endpoint
 client identifier
 refresh token
 OAuth 1.0aでは、ブラウザアプリ/クライアン
  トアプリに対するAuthZ flowのみが定義された
 OAuth 2.0では、その他のflowも考慮し、
  Access Token取得までの流れが定義される
    › The user delegation authZ flows
       ユーザーがClientに権限を委譲
    › The end user credentials flow
       ユーザーのID/PWを利用
    › The autonomous authZ flows
       ClientがResource owner
   The user delegation authZ flows
    › User-Agent Flow : JavaScriptなどでAuthZ
    › Web Server Flow : Web App Flow(OAuth1.0a)
    › Device Flow : Client App Flow(OAuth1.0a)
※仕様ドキュメントから抜粋
 JavaScriptなど、User-Agent(ブラウザ)上で処
  理が完結されるケースを想定
 AuthZ処理後、 AccessTokenなどがURI
  FragmentとしてClientに渡される
 Client側は、 URI Fragmentに含まれるAccess
  Tokenなどの値を取得するScriptを用意する
 Facebookはほぼそのままの仕様で実装済み
    http://developers.facebook.com/docs/authentication/javascript
※仕様ドキュメントから抜粋
 Clientがサーバ間通信可能なWebサーバで
  ある状況を想定
 Request/Responseの形式はほぼOAuth
  WRAPのWeb App Profileの仕様と同じ
    › OAuth 1.0aのRequestTokenのくだりがなくな
     る
   AuthZ Serverが複数のFlowをサポートする場合、
    AuthZ URLは共通でtypeパラメータによりどの
    Flowによる要求なのかを判断する
   immediateパラメータにより、OpenIDの
    checkid_immediate modeのような、画面を必要
    としない処理を要求可能
    › ここは別途まとめたいところ
   Access TokenにSecretが必要かどうかはClient側
    からsecret_typeというパラメータで指定可能...?
    › typeによってこの場合はSecretつき(Web Server Flow)、
     Secret不要(User-Agent Flow)のように最初から決めとい
     たほうがいいのでは?
※仕様ドキュメントから抜粋
   OAuth1.0aのClient App Flowに近いが微妙に
    異なる
    › ユーザーがAuthZ URLにアクセスし、User Codeを
     必ず手動で入力することでユーザー本人の処理を保
     証させようとしている
   OAuth 1.0時代のあの問題が再発しないか気に
    なる!
    › OAuth 1.0aの認可処理後のVerification Code手動
      入力はなくなってる
    › 悪意のあるユーザーが第3者にAuthZ URLにアクセス
      させ、User Codeを入力させたらアウトなような...
   The end user credentials flow
    › Username and Password Flow : ID/PW入力パ
      ターン
※仕様ドキュメントから抜粋




   twitterのxAuthのような、ID/PWをリクエス
    トに含む状況を想定
    › ID/PW → Access Tokenを行い、Clientは
     Access Tokenを保存
   The autonomous authZ flows
    › Client Credentials Flow : Client ID/Secretを利
      用
    › Assertion Flow : SAMLのアサーションを利用



    !省略!
   その2で残りの仕様を見ていく予定です
    › Refreshing an Access Token
        Refresh Tokenが任意ということはまたY!のOAuth
         は悪者扱いされるんか...
    › Accessing a Protected Resource
        署名はどうなる?
    › Identifying a Protected Resource...
   ではまた!

More Related Content

What's hot

OAuth 2.0による認可の流れ
OAuth 2.0による認可の流れOAuth 2.0による認可の流れ
OAuth 2.0による認可の流れTakeshi Mikami
 
Sec018 windows hello_in_your_app_!_~_カスタム_
Sec018 windows hello_in_your_app_!_~_カスタム_Sec018 windows hello_in_your_app_!_~_カスタム_
Sec018 windows hello_in_your_app_!_~_カスタム_Tech Summit 2016
 
SAML / OpenID Connect / OAuth / SCIM 技術解説 - ID&IT 2014 #idit2014
SAML / OpenID Connect / OAuth / SCIM 技術解説  - ID&IT 2014 #idit2014SAML / OpenID Connect / OAuth / SCIM 技術解説  - ID&IT 2014 #idit2014
SAML / OpenID Connect / OAuth / SCIM 技術解説 - ID&IT 2014 #idit2014Nov Matake
 
2014-08-30_aspnet-identity
2014-08-30_aspnet-identity2014-08-30_aspnet-identity
2014-08-30_aspnet-identitykumake
 
OAuth2基礎知識
OAuth2基礎知識OAuth2基礎知識
OAuth2基礎知識sokamo1975
 
2014年4月17日 dstnHub発表スライド ライトニングトークス「開発部開発グループ OAuth2.0 認証を実現してみた」
2014年4月17日 dstnHub発表スライド ライトニングトークス「開発部開発グループ OAuth2.0 認証を実現してみた」 2014年4月17日 dstnHub発表スライド ライトニングトークス「開発部開発グループ OAuth2.0 認証を実現してみた」
2014年4月17日 dstnHub発表スライド ライトニングトークス「開発部開発グループ OAuth2.0 認証を実現してみた」 dstn
 
Microsoft Identity Technology / Kantara Initiative Seminar 2011
Microsoft Identity Technology / Kantara Initiative Seminar 2011Microsoft Identity Technology / Kantara Initiative Seminar 2011
Microsoft Identity Technology / Kantara Initiative Seminar 2011Naohiro Fujie
 
IDaaSにSign in with Appleをつないでみた
IDaaSにSign in with AppleをつないでみたIDaaSにSign in with Appleをつないでみた
IDaaSにSign in with AppleをつないでみたNaohiro Fujie
 
100121 Scis2010 Itoh
100121 Scis2010 Itoh100121 Scis2010 Itoh
100121 Scis2010 ItohHiroki Itoh
 
Oauth2.0とか(認証と認可)_201403
Oauth2.0とか(認証と認可)_201403Oauth2.0とか(認証と認可)_201403
Oauth2.0とか(認証と認可)_201403Shunsuke Mihara
 
MicrosoftのDID/VC実装概要
MicrosoftのDID/VC実装概要MicrosoftのDID/VC実装概要
MicrosoftのDID/VC実装概要Naohiro Fujie
 
FAPI Security について聞いてきた話(2017/08/18 社内勉強会)
FAPI Security について聞いてきた話(2017/08/18 社内勉強会)FAPI Security について聞いてきた話(2017/08/18 社内勉強会)
FAPI Security について聞いてきた話(2017/08/18 社内勉強会)Yoko TAMADA
 
[SC07] Azure AD と Ruby で学ぶ OpenID Connect!
[SC07] Azure AD と Ruby で学ぶ OpenID Connect![SC07] Azure AD と Ruby で学ぶ OpenID Connect!
[SC07] Azure AD と Ruby で学ぶ OpenID Connect!de:code 2017
 
Azure AD x LINE x Auth0
Azure AD x LINE x Auth0Azure AD x LINE x Auth0
Azure AD x LINE x Auth0Naohiro Fujie
 
ID連携のあるとき~、ないとき~ #エンプラ編
ID連携のあるとき~、ないとき~ #エンプラ編ID連携のあるとき~、ないとき~ #エンプラ編
ID連携のあるとき~、ないとき~ #エンプラ編Takashi Yahata
 
OAuth2.0によるWeb APIの保護
OAuth2.0によるWeb APIの保護OAuth2.0によるWeb APIの保護
OAuth2.0によるWeb APIの保護Naohiro Fujie
 
Windows.Web.Http.HttpClientとWebAuthenticationBroker
Windows.Web.Http.HttpClientとWebAuthenticationBrokerWindows.Web.Http.HttpClientとWebAuthenticationBroker
Windows.Web.Http.HttpClientとWebAuthenticationBrokerNobuaki Aoki
 
シングルサインオンの歴史とSAMLへの道のり
シングルサインオンの歴史とSAMLへの道のりシングルサインオンの歴史とSAMLへの道のり
シングルサインオンの歴史とSAMLへの道のりShinichi Tomita
 
パスワード氾濫時代のID管理とは? ~最新のOpenIDが目指すユーザー認証の効率的な強化~
パスワード氾濫時代のID管理とは? ~最新のOpenIDが目指すユーザー認証の効率的な強化~パスワード氾濫時代のID管理とは? ~最新のOpenIDが目指すユーザー認証の効率的な強化~
パスワード氾濫時代のID管理とは? ~最新のOpenIDが目指すユーザー認証の効率的な強化~Tatsuo Kudo
 

What's hot (20)

OAuth 2.0による認可の流れ
OAuth 2.0による認可の流れOAuth 2.0による認可の流れ
OAuth 2.0による認可の流れ
 
Sec018 windows hello_in_your_app_!_~_カスタム_
Sec018 windows hello_in_your_app_!_~_カスタム_Sec018 windows hello_in_your_app_!_~_カスタム_
Sec018 windows hello_in_your_app_!_~_カスタム_
 
SAML / OpenID Connect / OAuth / SCIM 技術解説 - ID&IT 2014 #idit2014
SAML / OpenID Connect / OAuth / SCIM 技術解説  - ID&IT 2014 #idit2014SAML / OpenID Connect / OAuth / SCIM 技術解説  - ID&IT 2014 #idit2014
SAML / OpenID Connect / OAuth / SCIM 技術解説 - ID&IT 2014 #idit2014
 
2014-08-30_aspnet-identity
2014-08-30_aspnet-identity2014-08-30_aspnet-identity
2014-08-30_aspnet-identity
 
OAuth2基礎知識
OAuth2基礎知識OAuth2基礎知識
OAuth2基礎知識
 
2014年4月17日 dstnHub発表スライド ライトニングトークス「開発部開発グループ OAuth2.0 認証を実現してみた」
2014年4月17日 dstnHub発表スライド ライトニングトークス「開発部開発グループ OAuth2.0 認証を実現してみた」 2014年4月17日 dstnHub発表スライド ライトニングトークス「開発部開発グループ OAuth2.0 認証を実現してみた」
2014年4月17日 dstnHub発表スライド ライトニングトークス「開発部開発グループ OAuth2.0 認証を実現してみた」
 
Microsoft Identity Technology / Kantara Initiative Seminar 2011
Microsoft Identity Technology / Kantara Initiative Seminar 2011Microsoft Identity Technology / Kantara Initiative Seminar 2011
Microsoft Identity Technology / Kantara Initiative Seminar 2011
 
IDaaSにSign in with Appleをつないでみた
IDaaSにSign in with AppleをつないでみたIDaaSにSign in with Appleをつないでみた
IDaaSにSign in with Appleをつないでみた
 
100121 Scis2010 Itoh
100121 Scis2010 Itoh100121 Scis2010 Itoh
100121 Scis2010 Itoh
 
Oauth2.0とか(認証と認可)_201403
Oauth2.0とか(認証と認可)_201403Oauth2.0とか(認証と認可)_201403
Oauth2.0とか(認証と認可)_201403
 
How FIDO Works
How FIDO WorksHow FIDO Works
How FIDO Works
 
MicrosoftのDID/VC実装概要
MicrosoftのDID/VC実装概要MicrosoftのDID/VC実装概要
MicrosoftのDID/VC実装概要
 
FAPI Security について聞いてきた話(2017/08/18 社内勉強会)
FAPI Security について聞いてきた話(2017/08/18 社内勉強会)FAPI Security について聞いてきた話(2017/08/18 社内勉強会)
FAPI Security について聞いてきた話(2017/08/18 社内勉強会)
 
[SC07] Azure AD と Ruby で学ぶ OpenID Connect!
[SC07] Azure AD と Ruby で学ぶ OpenID Connect![SC07] Azure AD と Ruby で学ぶ OpenID Connect!
[SC07] Azure AD と Ruby で学ぶ OpenID Connect!
 
Azure AD x LINE x Auth0
Azure AD x LINE x Auth0Azure AD x LINE x Auth0
Azure AD x LINE x Auth0
 
ID連携のあるとき~、ないとき~ #エンプラ編
ID連携のあるとき~、ないとき~ #エンプラ編ID連携のあるとき~、ないとき~ #エンプラ編
ID連携のあるとき~、ないとき~ #エンプラ編
 
OAuth2.0によるWeb APIの保護
OAuth2.0によるWeb APIの保護OAuth2.0によるWeb APIの保護
OAuth2.0によるWeb APIの保護
 
Windows.Web.Http.HttpClientとWebAuthenticationBroker
Windows.Web.Http.HttpClientとWebAuthenticationBrokerWindows.Web.Http.HttpClientとWebAuthenticationBroker
Windows.Web.Http.HttpClientとWebAuthenticationBroker
 
シングルサインオンの歴史とSAMLへの道のり
シングルサインオンの歴史とSAMLへの道のりシングルサインオンの歴史とSAMLへの道のり
シングルサインオンの歴史とSAMLへの道のり
 
パスワード氾濫時代のID管理とは? ~最新のOpenIDが目指すユーザー認証の効率的な強化~
パスワード氾濫時代のID管理とは? ~最新のOpenIDが目指すユーザー認証の効率的な強化~パスワード氾濫時代のID管理とは? ~最新のOpenIDが目指すユーザー認証の効率的な強化~
パスワード氾濫時代のID管理とは? ~最新のOpenIDが目指すユーザー認証の効率的な強化~
 

Viewers also liked

We Are the Circumcision
We Are the CircumcisionWe Are the Circumcision
We Are the Circumcisionguest4ad903
 
e-Learning Design for Teacher
e-Learning Design for Teachere-Learning Design for Teacher
e-Learning Design for TeacherSunami Hokuto
 
0905xx Hybrid Memo
0905xx Hybrid Memo0905xx Hybrid Memo
0905xx Hybrid MemoRyo Ito
 
#idcon 15th ritou 2factor auth
#idcon 15th ritou 2factor auth#idcon 15th ritou 2factor auth
#idcon 15th ritou 2factor authRyo Ito
 
OpenID-TechNight-11-LT-mixi
OpenID-TechNight-11-LT-mixiOpenID-TechNight-11-LT-mixi
OpenID-TechNight-11-LT-mixiRyo Ito
 
Vrijetijdswebsites En Web 2[1].0
Vrijetijdswebsites En Web 2[1].0Vrijetijdswebsites En Web 2[1].0
Vrijetijdswebsites En Web 2[1].0UitinBrabant.nl
 
Anonymous OAuth Test
Anonymous OAuth TestAnonymous OAuth Test
Anonymous OAuth TestRyo Ito
 
Account Chooser idcon mini Vol.1
Account Chooser idcon mini Vol.1Account Chooser idcon mini Vol.1
Account Chooser idcon mini Vol.1Ryo Ito
 
Richtlijnen Schrijven Internetteksten Presentatie1
Richtlijnen Schrijven Internetteksten Presentatie1Richtlijnen Schrijven Internetteksten Presentatie1
Richtlijnen Schrijven Internetteksten Presentatie1UitinBrabant.nl
 
Summary of OAuth 2.0 draft 8 memo
Summary of OAuth 2.0 draft 8 memoSummary of OAuth 2.0 draft 8 memo
Summary of OAuth 2.0 draft 8 memoRyo Ito
 
持続可能な教材開発プロジェクトのために教師がWebですべきこと
持続可能な教材開発プロジェクトのために教師がWebですべきこと持続可能な教材開発プロジェクトのために教師がWebですべきこと
持続可能な教材開発プロジェクトのために教師がWebですべきことSunami Hokuto
 
The Role of 'Law' in your Salvation
The Role of 'Law' in your SalvationThe Role of 'Law' in your Salvation
The Role of 'Law' in your Salvationguest4ad903
 
目的と実践の符号を 〜ホームページ作成を例に〜
目的と実践の符号を 〜ホームページ作成を例に〜目的と実践の符号を 〜ホームページ作成を例に〜
目的と実践の符号を 〜ホームページ作成を例に〜Sunami Hokuto
 
OID to OIDC idcon mini vol1
OID to OIDC idcon mini vol1OID to OIDC idcon mini vol1
OID to OIDC idcon mini vol1Ryo Ito
 

Viewers also liked (16)

We Are the Circumcision
We Are the CircumcisionWe Are the Circumcision
We Are the Circumcision
 
e-Learning Design for Teacher
e-Learning Design for Teachere-Learning Design for Teacher
e-Learning Design for Teacher
 
圭圭
 
0905xx Hybrid Memo
0905xx Hybrid Memo0905xx Hybrid Memo
0905xx Hybrid Memo
 
#idcon 15th ritou 2factor auth
#idcon 15th ritou 2factor auth#idcon 15th ritou 2factor auth
#idcon 15th ritou 2factor auth
 
OpenID-TechNight-11-LT-mixi
OpenID-TechNight-11-LT-mixiOpenID-TechNight-11-LT-mixi
OpenID-TechNight-11-LT-mixi
 
Vrijetijdswebsites En Web 2[1].0
Vrijetijdswebsites En Web 2[1].0Vrijetijdswebsites En Web 2[1].0
Vrijetijdswebsites En Web 2[1].0
 
Anonymous OAuth Test
Anonymous OAuth TestAnonymous OAuth Test
Anonymous OAuth Test
 
Account Chooser idcon mini Vol.1
Account Chooser idcon mini Vol.1Account Chooser idcon mini Vol.1
Account Chooser idcon mini Vol.1
 
Richtlijnen Schrijven Internetteksten Presentatie1
Richtlijnen Schrijven Internetteksten Presentatie1Richtlijnen Schrijven Internetteksten Presentatie1
Richtlijnen Schrijven Internetteksten Presentatie1
 
Summary of OAuth 2.0 draft 8 memo
Summary of OAuth 2.0 draft 8 memoSummary of OAuth 2.0 draft 8 memo
Summary of OAuth 2.0 draft 8 memo
 
Column Rob Van Steen
Column Rob Van SteenColumn Rob Van Steen
Column Rob Van Steen
 
持続可能な教材開発プロジェクトのために教師がWebですべきこと
持続可能な教材開発プロジェクトのために教師がWebですべきこと持続可能な教材開発プロジェクトのために教師がWebですべきこと
持続可能な教材開発プロジェクトのために教師がWebですべきこと
 
The Role of 'Law' in your Salvation
The Role of 'Law' in your SalvationThe Role of 'Law' in your Salvation
The Role of 'Law' in your Salvation
 
目的と実践の符号を 〜ホームページ作成を例に〜
目的と実践の符号を 〜ホームページ作成を例に〜目的と実践の符号を 〜ホームページ作成を例に〜
目的と実践の符号を 〜ホームページ作成を例に〜
 
OID to OIDC idcon mini vol1
OID to OIDC idcon mini vol1OID to OIDC idcon mini vol1
OID to OIDC idcon mini vol1
 

Similar to Introduction of OAuth 2.0 vol.1

OAuth認証再考からのOpenID Connect #devlove
OAuth認証再考からのOpenID Connect #devloveOAuth認証再考からのOpenID Connect #devlove
OAuth認証再考からのOpenID Connect #devloveNov Matake
 
091009 Identity Conference #6 ritou
091009 Identity Conference #6 ritou091009 Identity Conference #6 ritou
091009 Identity Conference #6 ritouRyo Ito
 
Azure Static Web Apps を試してみた!
Azure Static Web Apps を試してみた!Azure Static Web Apps を試してみた!
Azure Static Web Apps を試してみた!一希 大田
 
OAuth Echo の Rails Gem
OAuth Echo の Rails GemOAuth Echo の Rails Gem
OAuth Echo の Rails GemToru Kawamura
 
OpenID Connect入門
OpenID Connect入門OpenID Connect入門
OpenID Connect入門土岐 孝平
 
ゼロからはじめるサーバーサイド Vol2
ゼロからはじめるサーバーサイド Vol2ゼロからはじめるサーバーサイド Vol2
ゼロからはじめるサーバーサイド Vol2Taichi Inaba
 
OAuth2.0完全に理解した_.pdf
OAuth2.0完全に理解した_.pdfOAuth2.0完全に理解した_.pdf
OAuth2.0完全に理解した_.pdfRyo Ishii
 
Financial-grade API Hands-on with Authlete
Financial-grade API Hands-on with AuthleteFinancial-grade API Hands-on with Authlete
Financial-grade API Hands-on with AuthleteTatsuo Kudo
 
OpenID Connect 入門 〜コンシューマーにおけるID連携のトレンド〜
OpenID Connect 入門 〜コンシューマーにおけるID連携のトレンド〜OpenID Connect 入門 〜コンシューマーにおけるID連携のトレンド〜
OpenID Connect 入門 〜コンシューマーにおけるID連携のトレンド〜Masaru Kurahayashi
 
TwitterのBasic認証が今度こそ終わります
TwitterのBasic認証が今度こそ終わりますTwitterのBasic認証が今度こそ終わります
TwitterのBasic認証が今度こそ終わりますDaisuke Nikura
 
Whats wrong oauth_authn
Whats wrong oauth_authnWhats wrong oauth_authn
Whats wrong oauth_authnNov Matake
 
The Latest Specs of OpenID Connect at #idcon 9
The Latest Specs of OpenID Connect at #idcon 9The Latest Specs of OpenID Connect at #idcon 9
The Latest Specs of OpenID Connect at #idcon 9Ryo Ito
 
実装して理解するLINE LoginとOpenID Connect入門
実装して理解するLINE LoginとOpenID Connect入門実装して理解するLINE LoginとOpenID Connect入門
実装して理解するLINE LoginとOpenID Connect入門Naohiro Fujie
 
Openid technight 20110909_fujie
Openid technight 20110909_fujieOpenid technight 20110909_fujie
Openid technight 20110909_fujieNaohiro Fujie
 
Azure ADとIdentity管理
Azure ADとIdentity管理Azure ADとIdentity管理
Azure ADとIdentity管理Naohiro Fujie
 
OpenID Connectについて
OpenID ConnectについてOpenID Connectについて
OpenID ConnectについてiPride Co., Ltd.
 
Identity lifecycleのつらみを解決するサービス
Identity lifecycleのつらみを解決するサービスIdentity lifecycleのつらみを解決するサービス
Identity lifecycleのつらみを解決するサービスTakumiKasuo
 

Similar to Introduction of OAuth 2.0 vol.1 (20)

OAuth認証再考からのOpenID Connect #devlove
OAuth認証再考からのOpenID Connect #devloveOAuth認証再考からのOpenID Connect #devlove
OAuth認証再考からのOpenID Connect #devlove
 
091009 Identity Conference #6 ritou
091009 Identity Conference #6 ritou091009 Identity Conference #6 ritou
091009 Identity Conference #6 ritou
 
Azure Static Web Apps を試してみた!
Azure Static Web Apps を試してみた!Azure Static Web Apps を試してみた!
Azure Static Web Apps を試してみた!
 
OAuth Echo の Rails Gem
OAuth Echo の Rails GemOAuth Echo の Rails Gem
OAuth Echo の Rails Gem
 
OpenID Connect入門
OpenID Connect入門OpenID Connect入門
OpenID Connect入門
 
ゼロからはじめるサーバーサイド Vol2
ゼロからはじめるサーバーサイド Vol2ゼロからはじめるサーバーサイド Vol2
ゼロからはじめるサーバーサイド Vol2
 
OAuth2.0完全に理解した_.pdf
OAuth2.0完全に理解した_.pdfOAuth2.0完全に理解した_.pdf
OAuth2.0完全に理解した_.pdf
 
Financial-grade API Hands-on with Authlete
Financial-grade API Hands-on with AuthleteFinancial-grade API Hands-on with Authlete
Financial-grade API Hands-on with Authlete
 
O Auth
O AuthO Auth
O Auth
 
OpenID Connect 入門 〜コンシューマーにおけるID連携のトレンド〜
OpenID Connect 入門 〜コンシューマーにおけるID連携のトレンド〜OpenID Connect 入門 〜コンシューマーにおけるID連携のトレンド〜
OpenID Connect 入門 〜コンシューマーにおけるID連携のトレンド〜
 
TwitterのBasic認証が今度こそ終わります
TwitterのBasic認証が今度こそ終わりますTwitterのBasic認証が今度こそ終わります
TwitterのBasic認証が今度こそ終わります
 
Whats wrong oauth_authn
Whats wrong oauth_authnWhats wrong oauth_authn
Whats wrong oauth_authn
 
The Latest Specs of OpenID Connect at #idcon 9
The Latest Specs of OpenID Connect at #idcon 9The Latest Specs of OpenID Connect at #idcon 9
The Latest Specs of OpenID Connect at #idcon 9
 
実装して理解するLINE LoginとOpenID Connect入門
実装して理解するLINE LoginとOpenID Connect入門実装して理解するLINE LoginとOpenID Connect入門
実装して理解するLINE LoginとOpenID Connect入門
 
PFI Seminar 2012/02/24
PFI Seminar 2012/02/24PFI Seminar 2012/02/24
PFI Seminar 2012/02/24
 
OCHaCafe#5 - 避けては通れない!認証・認可
OCHaCafe#5 - 避けては通れない!認証・認可OCHaCafe#5 - 避けては通れない!認証・認可
OCHaCafe#5 - 避けては通れない!認証・認可
 
Openid technight 20110909_fujie
Openid technight 20110909_fujieOpenid technight 20110909_fujie
Openid technight 20110909_fujie
 
Azure ADとIdentity管理
Azure ADとIdentity管理Azure ADとIdentity管理
Azure ADとIdentity管理
 
OpenID Connectについて
OpenID ConnectについてOpenID Connectについて
OpenID Connectについて
 
Identity lifecycleのつらみを解決するサービス
Identity lifecycleのつらみを解決するサービスIdentity lifecycleのつらみを解決するサービス
Identity lifecycleのつらみを解決するサービス
 

More from Ryo Ito

安全な"○○でログイン"の作り方 @ NDS in Niigata #1
安全な"○○でログイン"の作り方 @ NDS in Niigata #1安全な"○○でログイン"の作り方 @ NDS in Niigata #1
安全な"○○でログイン"の作り方 @ NDS in Niigata #1Ryo Ito
 
idcon mini vol3 CovertRedirect
idcon mini vol3 CovertRedirectidcon mini vol3 CovertRedirect
idcon mini vol3 CovertRedirectRyo Ito
 
Idcon 17th ritou OAuth 2.0 CSRF Protection
Idcon 17th ritou OAuth 2.0 CSRF ProtectionIdcon 17th ritou OAuth 2.0 CSRF Protection
Idcon 17th ritou OAuth 2.0 CSRF ProtectionRyo Ito
 
YAPC::Tokyo 2013 ritou OpenID Connect
YAPC::Tokyo 2013 ritou OpenID ConnectYAPC::Tokyo 2013 ritou OpenID Connect
YAPC::Tokyo 2013 ritou OpenID ConnectRyo Ito
 
Open id connect claims idcon mini vol1
Open id connect claims idcon mini vol1Open id connect claims idcon mini vol1
Open id connect claims idcon mini vol1Ryo Ito
 
BackplaneProtocol超入門
BackplaneProtocol超入門BackplaneProtocol超入門
BackplaneProtocol超入門Ryo Ito
 
UserManagedAccess_idcon13
UserManagedAccess_idcon13UserManagedAccess_idcon13
UserManagedAccess_idcon13Ryo Ito
 
WebIntents × SNS
WebIntents × SNSWebIntents × SNS
WebIntents × SNSRyo Ito
 
OpenID_Connect_Spec_Demo
OpenID_Connect_Spec_DemoOpenID_Connect_Spec_Demo
OpenID_Connect_Spec_DemoRyo Ito
 
OAuth 2.0 MAC Authentication
OAuth 2.0 MAC AuthenticationOAuth 2.0 MAC Authentication
OAuth 2.0 MAC AuthenticationRyo Ito
 
OAuth 2.0 Dance School #swj
OAuth 2.0 Dance School #swj OAuth 2.0 Dance School #swj
OAuth 2.0 Dance School #swj Ryo Ito
 
Ritou idcon7
Ritou idcon7Ritou idcon7
Ritou idcon7Ryo Ito
 

More from Ryo Ito (12)

安全な"○○でログイン"の作り方 @ NDS in Niigata #1
安全な"○○でログイン"の作り方 @ NDS in Niigata #1安全な"○○でログイン"の作り方 @ NDS in Niigata #1
安全な"○○でログイン"の作り方 @ NDS in Niigata #1
 
idcon mini vol3 CovertRedirect
idcon mini vol3 CovertRedirectidcon mini vol3 CovertRedirect
idcon mini vol3 CovertRedirect
 
Idcon 17th ritou OAuth 2.0 CSRF Protection
Idcon 17th ritou OAuth 2.0 CSRF ProtectionIdcon 17th ritou OAuth 2.0 CSRF Protection
Idcon 17th ritou OAuth 2.0 CSRF Protection
 
YAPC::Tokyo 2013 ritou OpenID Connect
YAPC::Tokyo 2013 ritou OpenID ConnectYAPC::Tokyo 2013 ritou OpenID Connect
YAPC::Tokyo 2013 ritou OpenID Connect
 
Open id connect claims idcon mini vol1
Open id connect claims idcon mini vol1Open id connect claims idcon mini vol1
Open id connect claims idcon mini vol1
 
BackplaneProtocol超入門
BackplaneProtocol超入門BackplaneProtocol超入門
BackplaneProtocol超入門
 
UserManagedAccess_idcon13
UserManagedAccess_idcon13UserManagedAccess_idcon13
UserManagedAccess_idcon13
 
WebIntents × SNS
WebIntents × SNSWebIntents × SNS
WebIntents × SNS
 
OpenID_Connect_Spec_Demo
OpenID_Connect_Spec_DemoOpenID_Connect_Spec_Demo
OpenID_Connect_Spec_Demo
 
OAuth 2.0 MAC Authentication
OAuth 2.0 MAC AuthenticationOAuth 2.0 MAC Authentication
OAuth 2.0 MAC Authentication
 
OAuth 2.0 Dance School #swj
OAuth 2.0 Dance School #swj OAuth 2.0 Dance School #swj
OAuth 2.0 Dance School #swj
 
Ritou idcon7
Ritou idcon7Ritou idcon7
Ritou idcon7
 

Recently uploaded

SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 

Recently uploaded (9)

SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 

Introduction of OAuth 2.0 vol.1

  • 1.
  • 2. 名前 • Ryo Ito (id:ritou) • アカウント • twitter,friendfeed,hatena : ritou • ブログ • r-weblife http://d.hatena.ne.jp/ritou/ • 内容はOpenID/OAuthあたりが多め • 所属 • OpenID OP かつ OAuth SPな会社 • 2010年5月現在、社会人5年目
  • 3.  2010年5月5日時点で、以下の資料を参考にして OAuth 2.0の仕様を噛み砕いている自分用メモ です。  全てを解説するのは無理なのであとで小分けに ブログで書く予定ですが、話についてこれる方 は参考にしてみてください。  The OAuth 2.0 Protocol draft-hammer- oauth2-00 http://tools.ietf.org/html/draft-hammer-oauth2-00  Facebook Developers Document http://developers.facebook.com/docs/authentication /
  • 4. 今回見ておくところは以下の2点! › Terminology : 新しい登場人物とかいない? › AuthZ flow : Clientの特性や環境によって想定さ れているAccessToken取得までのフロー
  • 5. あまり劇的な変更はなさそう  resource server : APIサーバ  protected resource : APIでやりとりされるデータ  client : Consumer(OAuth 1.0a)  resource owner  end user  access token  authorization server : SP(OAuth 1.0a)  authorization endpoint  token endpoint  client identifier  refresh token
  • 6.  OAuth 1.0aでは、ブラウザアプリ/クライアン トアプリに対するAuthZ flowのみが定義された  OAuth 2.0では、その他のflowも考慮し、 Access Token取得までの流れが定義される › The user delegation authZ flows  ユーザーがClientに権限を委譲 › The end user credentials flow  ユーザーのID/PWを利用 › The autonomous authZ flows  ClientがResource owner
  • 7. The user delegation authZ flows › User-Agent Flow : JavaScriptなどでAuthZ › Web Server Flow : Web App Flow(OAuth1.0a) › Device Flow : Client App Flow(OAuth1.0a)
  • 9.  JavaScriptなど、User-Agent(ブラウザ)上で処 理が完結されるケースを想定  AuthZ処理後、 AccessTokenなどがURI FragmentとしてClientに渡される  Client側は、 URI Fragmentに含まれるAccess Tokenなどの値を取得するScriptを用意する  Facebookはほぼそのままの仕様で実装済み http://developers.facebook.com/docs/authentication/javascript
  • 11.  Clientがサーバ間通信可能なWebサーバで ある状況を想定  Request/Responseの形式はほぼOAuth WRAPのWeb App Profileの仕様と同じ › OAuth 1.0aのRequestTokenのくだりがなくな る
  • 12. AuthZ Serverが複数のFlowをサポートする場合、 AuthZ URLは共通でtypeパラメータによりどの Flowによる要求なのかを判断する  immediateパラメータにより、OpenIDの checkid_immediate modeのような、画面を必要 としない処理を要求可能 › ここは別途まとめたいところ  Access TokenにSecretが必要かどうかはClient側 からsecret_typeというパラメータで指定可能...? › typeによってこの場合はSecretつき(Web Server Flow)、 Secret不要(User-Agent Flow)のように最初から決めとい たほうがいいのでは?
  • 14. OAuth1.0aのClient App Flowに近いが微妙に 異なる › ユーザーがAuthZ URLにアクセスし、User Codeを 必ず手動で入力することでユーザー本人の処理を保 証させようとしている  OAuth 1.0時代のあの問題が再発しないか気に なる! › OAuth 1.0aの認可処理後のVerification Code手動 入力はなくなってる › 悪意のあるユーザーが第3者にAuthZ URLにアクセス させ、User Codeを入力させたらアウトなような...
  • 15. The end user credentials flow › Username and Password Flow : ID/PW入力パ ターン
  • 16. ※仕様ドキュメントから抜粋  twitterのxAuthのような、ID/PWをリクエス トに含む状況を想定 › ID/PW → Access Tokenを行い、Clientは Access Tokenを保存
  • 17. The autonomous authZ flows › Client Credentials Flow : Client ID/Secretを利 用 › Assertion Flow : SAMLのアサーションを利用 !省略!
  • 18. その2で残りの仕様を見ていく予定です › Refreshing an Access Token  Refresh Tokenが任意ということはまたY!のOAuth は悪者扱いされるんか... › Accessing a Protected Resource  署名はどうなる? › Identifying a Protected Resource...  ではまた!