SlideShare una empresa de Scribd logo
1 de 18
r-weblife




Googleが実装した
Anonymous OAuth
の機能を使ってみた

           =ritou
 http://d.hatena.ne.jp/ritou
r-weblife

  自己紹介
   • 名前
       • Ryo Ito (id:ritou)
   • アカウント
       • twitter,friendfeed,hatena : ritou
   • ブログ
       • r-weblife http://d.hatena.ne.jp/ritou/
            • 内容はOpenID/OAuthあたり
   • 所属
       • ひみつ
       • 2009年10月現在、社会人4年目
r-weblife

  このスライドの内容
   • http://googlecode.blogspot.com/2009/11/oauth-
     enhancements.html
       • The ability to use OAuth without registration


   • Consumerアプリの事前登録が必要なOAuthにおいて、
     Googleは未登録のConsumerに対する実装を開始し
     たらしい

   • 使ってみる
r-weblife

  仕様
   • UnregistedなConsumerの場合でも、OAuthのリクエス
     トに必要なパラメータは変わらない
       • っていうか変えちゃいけない
   • Consumer Key/Secretには”anonymous”の文字列を
     利用し、HMACのSignatureをつける
       • http://code.google.com/intl/ja/apis/accounts/docs/OAut
         h_ref.html#SigningOAuth
            • If your application is not registered, select HMAC-SHA1 and use
              the following key and secret:
              consumer key: "anonymous"
              consumer secret: "anonymous"
r-weblife

  実際に動かしてみたい
   • Googleが提供しているOAuthのテストツールである
     OAuth PlayGroundを利用する
       • http://googlecodesamples.com/oauth_playground/
       • ここならConsumerKey/Secretを変えて動作確認ができる
       • 仕様通り動くかどうかと、画面の違いを確認する
r-weblife

  まずは普通のOAuthフローを見てみる
r-weblife

  OAuth PlayGroundを開く




            Consumer Keyが
            googlecodesample.comである
            ことに注目
            →事前登録してあるもの
r-weblife

  Request Token取得要求


            1.CalendarのScopeをチェック




                      2.ここをクリックするとRequest Token取得要求が送られる
r-weblife

  RequestTokenを用いてAuthZ要求




                     1.RequestTokenと
                     TokenSecretが取得できている




            2.ここをクリックするとAuthZ要求が送られる
r-weblife

  (ログイン画面省略して)Consent Page
     詳細は自分で確認してください。
r-weblife

  Anonymousの場合
r-weblife

  Request Token取得要求

            1.CalendarのScopeをチェック




            2.Signature methodはHMAC-SHA1
             3.ConsumerKeyにanonymousを指定
             4.ConsumerSecretにもanonymousを指
             定




                       5.ここをクリックするとRequest Token取得要求が送られる
r-weblife

  RequestTokenを用いてAuthZ要求




                     1.ちゃんとRequestTokenと
                     TokenSecretが取得できている




            2.ここをクリックするとAuthZ要求が送られる
r-weblife

  (ログイン画面省略して)Consent Page

            おそらくcallback_urlのドメインを表示している




                          Anonymous用メッセージだと
                          思われる
r-weblife

  Hybridのときはどうなる?
   • Consumer Key/SecretをAnonymousにして
     Hybrid(OpenID + OAuth)は動作するのか?
r-weblife

  HybridのConsentPage




                この2つがOAuthのAuthZ要求対象
r-weblife

  ConsumerKeyの部分をAnonymousに変えると。。。




               OAuthのAuthZ要求対象がなくなり、ただ
               のOpenIDの画面になってしまった。。。
r-weblife

  まとめ
   • Anonymous Consumer対応は確かに実装されていた
       • OAuthのみの場合だけ対応
       • Hybridは非対応

Más contenido relacionado

Destacado

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
 
Idcon11 implicit demo
Idcon11 implicit demoIdcon11 implicit demo
Idcon11 implicit demoRyo Ito
 
OID to OIDC idcon mini vol1
OID to OIDC idcon mini vol1OID to OIDC idcon mini vol1
OID to OIDC idcon mini vol1Ryo Ito
 

Destacado (9)

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
 
持続可能な教材開発プロジェクトのために教師がWebですべきこと
持続可能な教材開発プロジェクトのために教師がWebですべきこと持続可能な教材開発プロジェクトのために教師がWebですべきこと
持続可能な教材開発プロジェクトのために教師がWebですべきこと
 
Column Rob Van Steen
Column Rob Van SteenColumn Rob Van Steen
Column Rob Van Steen
 
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
 
目的と実践の符号を 〜ホームページ作成を例に〜
目的と実践の符号を 〜ホームページ作成を例に〜目的と実践の符号を 〜ホームページ作成を例に〜
目的と実践の符号を 〜ホームページ作成を例に〜
 
Idcon11 implicit demo
Idcon11 implicit demoIdcon11 implicit demo
Idcon11 implicit demo
 
OID to OIDC idcon mini vol1
OID to OIDC idcon mini vol1OID to OIDC idcon mini vol1
OID to OIDC idcon mini vol1
 

Similar a Anonymous OAuth Test

Opauthライブラリによるtwitter,facebook認証について
Opauthライブラリによるtwitter,facebook認証についてOpauthライブラリによるtwitter,facebook認証について
Opauthライブラリによるtwitter,facebook認証について松本 雄貴
 
なんとなくOAuth怖いって思ってるやつちょっと来い
なんとなくOAuth怖いって思ってるやつちょっと来いなんとなくOAuth怖いって思ってるやつちょっと来い
なんとなくOAuth怖いって思ってるやつちょっと来いRyo Ito
 
091009 Identity Conference #6 ritou
091009 Identity Conference #6 ritou091009 Identity Conference #6 ritou
091009 Identity Conference #6 ritouRyo Ito
 
kitproライトニングトーク
kitproライトニングトークkitproライトニングトーク
kitproライトニングトークTaichi Kimura
 
Azure Static Web Apps を試してみた!
Azure Static Web Apps を試してみた!Azure Static Web Apps を試してみた!
Azure Static Web Apps を試してみた!一希 大田
 
FAPI (Financial-grade API) and CIBA (Client Initiated Backchannel Authenticat...
FAPI (Financial-grade API) and CIBA (Client Initiated Backchannel Authenticat...FAPI (Financial-grade API) and CIBA (Client Initiated Backchannel Authenticat...
FAPI (Financial-grade API) and CIBA (Client Initiated Backchannel Authenticat...Tatsuo Kudo
 
OpenID Connect入門
OpenID Connect入門OpenID Connect入門
OpenID Connect入門土岐 孝平
 
配布用Dotcloudによるすぐ始めるtwitterwebアプリ開発#twtr hack
配布用Dotcloudによるすぐ始めるtwitterwebアプリ開発#twtr hack配布用Dotcloudによるすぐ始めるtwitterwebアプリ開発#twtr hack
配布用Dotcloudによるすぐ始めるtwitterwebアプリ開発#twtr hackyut148atgmaildotcom
 
React(TypeScript) + Go + Auth0 で実現する管理画面
React(TypeScript) + Go + Auth0 で実現する管理画面React(TypeScript) + Go + Auth0 で実現する管理画面
React(TypeScript) + Go + Auth0 で実現する管理画面KentaEndoh
 
今更聞けないOAuth2.0
今更聞けないOAuth2.0今更聞けないOAuth2.0
今更聞けないOAuth2.0Takahiro Sato
 
Google App EngineでTwitterアプリを作ろう
Google App EngineでTwitterアプリを作ろうGoogle App EngineでTwitterアプリを作ろう
Google App EngineでTwitterアプリを作ろうkenji4569
 
OAuth Echo の Rails Gem
OAuth Echo の Rails GemOAuth Echo の Rails Gem
OAuth Echo の Rails GemToru Kawamura
 
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
 
Mobage Connect と Identity 関連技術への取り組み - OpenID Summit Tokyo 2015
Mobage Connect と Identity 関連技術への取り組み - OpenID Summit Tokyo 2015Mobage Connect と Identity 関連技術への取り組み - OpenID Summit Tokyo 2015
Mobage Connect と Identity 関連技術への取り組み - OpenID Summit Tokyo 2015Toru Yamaguchi
 
FAPI and beyond - よりよいセキュリティのために
FAPI and beyond - よりよいセキュリティのためにFAPI and beyond - よりよいセキュリティのために
FAPI and beyond - よりよいセキュリティのためにNat Sakimura
 
OpenID Connect 入門 〜コンシューマーにおけるID連携のトレンド〜
OpenID Connect 入門 〜コンシューマーにおけるID連携のトレンド〜OpenID Connect 入門 〜コンシューマーにおけるID連携のトレンド〜
OpenID Connect 入門 〜コンシューマーにおけるID連携のトレンド〜Masaru Kurahayashi
 

Similar a Anonymous OAuth Test (20)

Opauthライブラリによるtwitter,facebook認証について
Opauthライブラリによるtwitter,facebook認証についてOpauthライブラリによるtwitter,facebook認証について
Opauthライブラリによるtwitter,facebook認証について
 
なんとなくOAuth怖いって思ってるやつちょっと来い
なんとなくOAuth怖いって思ってるやつちょっと来いなんとなくOAuth怖いって思ってるやつちょっと来い
なんとなくOAuth怖いって思ってるやつちょっと来い
 
091009 Identity Conference #6 ritou
091009 Identity Conference #6 ritou091009 Identity Conference #6 ritou
091009 Identity Conference #6 ritou
 
PFI Seminar 2012/02/24
PFI Seminar 2012/02/24PFI Seminar 2012/02/24
PFI Seminar 2012/02/24
 
kitproライトニングトーク
kitproライトニングトークkitproライトニングトーク
kitproライトニングトーク
 
Azure Static Web Apps を試してみた!
Azure Static Web Apps を試してみた!Azure Static Web Apps を試してみた!
Azure Static Web Apps を試してみた!
 
FAPI (Financial-grade API) and CIBA (Client Initiated Backchannel Authenticat...
FAPI (Financial-grade API) and CIBA (Client Initiated Backchannel Authenticat...FAPI (Financial-grade API) and CIBA (Client Initiated Backchannel Authenticat...
FAPI (Financial-grade API) and CIBA (Client Initiated Backchannel Authenticat...
 
OpenID Connect入門
OpenID Connect入門OpenID Connect入門
OpenID Connect入門
 
配布用Dotcloudによるすぐ始めるtwitterwebアプリ開発#twtr hack
配布用Dotcloudによるすぐ始めるtwitterwebアプリ開発#twtr hack配布用Dotcloudによるすぐ始めるtwitterwebアプリ開発#twtr hack
配布用Dotcloudによるすぐ始めるtwitterwebアプリ開発#twtr hack
 
Kintone hands on
Kintone hands onKintone hands on
Kintone hands on
 
React(TypeScript) + Go + Auth0 で実現する管理画面
React(TypeScript) + Go + Auth0 で実現する管理画面React(TypeScript) + Go + Auth0 で実現する管理画面
React(TypeScript) + Go + Auth0 で実現する管理画面
 
Gaeja20121130
Gaeja20121130Gaeja20121130
Gaeja20121130
 
Twitter API
Twitter APITwitter API
Twitter API
 
今更聞けないOAuth2.0
今更聞けないOAuth2.0今更聞けないOAuth2.0
今更聞けないOAuth2.0
 
Google App EngineでTwitterアプリを作ろう
Google App EngineでTwitterアプリを作ろうGoogle App EngineでTwitterアプリを作ろう
Google App EngineでTwitterアプリを作ろう
 
OAuth Echo の Rails Gem
OAuth Echo の Rails GemOAuth Echo の Rails Gem
OAuth Echo の Rails Gem
 
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
 
Mobage Connect と Identity 関連技術への取り組み - OpenID Summit Tokyo 2015
Mobage Connect と Identity 関連技術への取り組み - OpenID Summit Tokyo 2015Mobage Connect と Identity 関連技術への取り組み - OpenID Summit Tokyo 2015
Mobage Connect と Identity 関連技術への取り組み - OpenID Summit Tokyo 2015
 
FAPI and beyond - よりよいセキュリティのために
FAPI and beyond - よりよいセキュリティのためにFAPI and beyond - よりよいセキュリティのために
FAPI and beyond - よりよいセキュリティのために
 
OpenID Connect 入門 〜コンシューマーにおけるID連携のトレンド〜
OpenID Connect 入門 〜コンシューマーにおけるID連携のトレンド〜OpenID Connect 入門 〜コンシューマーにおけるID連携のトレンド〜
OpenID Connect 入門 〜コンシューマーにおけるID連携のトレンド〜
 

Más de 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
 

Más de 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
 

Anonymous OAuth Test