SlideShare una empresa de Scribd logo
1 de 35
OpenID Extension紹介 + α

            =ritou
  http://d.hatena.ne.jp/ritou
自己紹介
• 名前
 • Ryo Ito (id:ritou)
• アカウント
 • twitter,friendfeed,hatena : ritou
• ブログ
 • r-weblife http://d.hatena.ne.jp/ritou/
    • 内容はOpenID/OAuthあたり
• 所属
 •
 • 2009年10月現在、社会人4年目
アジェンダ
• OpenID Extension紹介
  • OpenID User Interface Extension
  • OpenID OAuth Extension
• OAuthについて
OpenID
User Interface
Extension
OpenID UI Extension   Background
• OpenID認証ではリダイレクトが使われている
 • checkid_setupモード
 • ログイン処理の間だけRPから離れることは良くない


• 分離されたpopup window内でAuthNフローが行われ
  るとUXが改善されると”信じられている”


• OPが popupに気付けると、より最適化できる
 • 画面サイズの使いわけ
 • ネガティブアサーションの代わりにブラウザ閉じる
OpenID UI Extension   Spec
• 内容
 • Requesting Authentication in a Popup : popup
 • graphical RP representation : OP画面上のRP icon
   表示
 • Language Preference : 言語指定
Requesting AuthN in a Popup
• checkid_setupモードのAuthN要求の際、
  popupを利用する場合は以下のパラメータを
  含む
 • openid.ns.ui :
   “http://specs.openid.net/extensions/ui/1.0”
 • openid.ui.mode : “popup”
Requesting AuthN in a Popup Example –   Google
AuthN Response in a Fragment(調査
•
                    中)
    AuthN応答を受けた時のreturn_toが行う処理は重い
    • まっ白な画面が表示されたり




• return_toに”#”が含まれる場合、OPは応答パラメータ
  をfragment portionとして付加する
    • 現在、各OPで挙動が違う。。。
• RP側でreturn_toを静的ページにしてブラウザキャッ
  シュを使うことで速度が改善され、最適化される?
    • 例 : jsのハンドラに引数を渡し、ブラウザを閉じるだけ?
graphical RP representation

• OPの承認/同意画面に表示するRPのアイコンを
  RPが指定する場合、以下のパラメータを含む
 • openid.ui.icon : “true”
• OPは画像のURLをRP Discoveryにより取得して同
  意画面に表示する
 –    <Service xmlns="xri://$xrd*($v*2.0)">
     <Type>http://specs.openid.net/extensions/ui/icon</Type>
     <URI>http://consumer.example.com/images/image.jpg</URI> </Service>
 • 見つからなかったらfavicon
graphical RP representation Example –   Google
Language Preference
• checkid_setupモードのAuthN要求の際、RPか
  らOPに対してユーザーが好む言語に関する”
  ヒント”を指定
  • openid.ns.ui :
    "http://specs.openid.net/extensions/ui/1.0"
  • openid.ui.lang : "fr-FR","fr-CA,fr-FR,en-CA“
• Tags for Identifying Languages
  • http://www.ietf.org/rfc/rfc4646.txt
Language Preference Example   – Yahoo!




openid.ui.lang : fr-FR                    openid.ui.lang : fr-FR
Login Page                                Consent Page
OP’s XRDS discovery document
• language preference
<Type>http://specs.openid.net/extensions/ui/1.0/lang-pref</Type>

• popup
<Type>http://specs.openid.net/extensions/ui/1.0/mode/popup</Type>

• graphical RP representation
<Type>http://specs.openid.net/extensions/ui/1.0/icon</Type>
各OPの対応状況
• Google
  • popup + icon表示対応
  • 画面サイズ : 450×500
• Yahoo!(米)
  • popup対応してるけど、1画面に統一
  • 画面サイズ : 500×500
  • language preference対応
現状のまとめ
• もっと詰めるべきところがありそう
 • Window Size
 • Negative Assertion or Window close?
 • Initiation
    • OpenID Form
    • OP Selector
    • Others (WebFinger?)
• JPで広めるために必要なものは?
 • 各OPの対応
    • あふれ出る日本語の文言をどこまで抑えられるか
 • BestPractice/ガイドライン?
    • セキュリティ関連の啓蒙 : iframeはNG,アドレスバー出せとか
OpenID
OAuth
Extension
OpenID AuthN Flow vs OAuth AuthZ
              Flow

               1                       1

                   RP                      Consumer
       2   4                   2   4

User                    User
           3                       3


                   OP                        SP
OpenID OAuth Extension
• Background
  • OpenIDとOAuthのUXは似ている
  • OP=SP, RP=Consumerのときは同じOP(SP)に対して
    2回AuthN/AuthZ要求する必要がある


• OpenIDのAuthNリクエストにOAuthのAuthZリクエスト
  を含めれば1回で済む
Hybrid Flow
            RP and
                           •例 : OpenIDでログインしアドレス
           Consumer        ブックのデータをインポート
                                1.   UserがConsumer上でイン
                1                    ポート先のProviderを選択
                                2.   ConsumerがUserをProvider
                                     にリダイレクト
                       5        3.   UserがProvider上で
       2                             「Consumerにサインインする
            4                        こととアドレスブックのデータ
                                     をシェアすること」について
                                     同意
User                            4.   OPがClaimed IDとともにUser
                                     をConsumerにリダイレクト
            3                   5.   ConsumerはUserを特定しサ
                                     インイン処理、アドレスブック
                                     のデータインポート処理を実
                                     行
                    OP and SP
OpenID OAuth Extension -   Spec
• 追加された定義
  • Combined Provider
     • OP かつ SP : Google, MySpace, Yahoo
  • Combined Consumer
     • RP かつ Consumer : Plaxo, RPX使ってるとこ
• Extension Namespace
  • http://specs.openid.net/extensions/oauth/1.0
OpenID OAuth Extension -   Spec
• Request
  • 【OpenID】AuthN Request + 【OAuth】Consumer Key
• Response
  • 【OpenID】AuthN Response + 【OAuth】Request Token
• After AuthN/Z
  • 【OpenID】 AuthN Responseを処理
  • 【OAuth】 Access Tokenの取得
     • Request Tokenと紐づくToken Secretの値は(空)
  • 【OAuth】 リソースアクセス
OpenID OAuth Extension -   Sequence
Usecases
• OpenID + Profile API
   • OpenIDでログイン
   • AXの代わりにProfile APIで属性情報を使う
• OpenID + Contact List API
   • OpenIDでログイン
   • Providerのアドレスブックにある友達にInvitationを送信
• OpenID + Activity Stream API
   • OpenIDでログイン
   • Consumer上のActivityをProviderのトラヒックに乗せる
      • たくさんの人の目に止まる → Consumerへの誘導増加
      • 小さなConsumerでも世界中のユーザーにアピールできる
• WhiteList対応
Screenshot : Google
Screenshot : Yahoo!
Screenshot : MySpace
OAuthについて
• OAuth for Mobile
• OAuthとOpenSocial
• OAuth Provider Request
OAuth for Mobile
• 仕様的にはOpenIDよりもMobileに適している
 • 重い処理はDirect Communicationでやる
 • RequestToken/OAuth Verifierを短くできればURL長も
   OK
• 使いどころ
 • モバイルサイトからのOAuth利用
 • PC/Mobile以外のデバイスで動くConsumerの認可デ
   バイスとして利用
   • TV,デジタル家電,カーナビとか?
   • “同意”だけMobileで
   • カーナビより、テレビよりは文字入力しやすい、経験がある
OAuth :TV + Mobile flow


1.QRコード表示               2.ログイン/同意




3.Verifier入力            4.APIアクセス
ClientApp を意識しているY!のOAuth
• User AuthZ URL
  • Request Tokenパラメータは任意
    • https://api.login.yahoo.com/oauth/v2/request_auth
    • https://auth.login.yahoo.co.jp/oauth/v2/request_auth
• Request Token/OAuth Verifierは短め
  • 手動入力を意識
OAuthとOpenSocial
• OpenSocialが流行るとOAuthも使われる
  • SignedRequest = 2legged
  • makeRequest = 3legged
• RESTful APIで定義されるAPIが増えるとContainer
  じゃないOAuthのSPもAPIを出しやすい?
  • 開発者にやさしい共通仕様
     • ライブラリの充実
     • ノウハウ蓄積
  • SPはどうやって個性を出していけるかが勝負!
Proposal : OAuth Provider Request
• OAuthでProviderからConsumerに送られる
  Requestがあってもいいのでは?


• CXの話で語られているような非同期通信
• ID状態の連携
 • SP上でIDがディアクティベートされたことを通知
 • 通知を受けて、Consumerはリカバリーフローを用意
• SPがConsumerのユーザーリソースにアクセス
  (3legged?)
 • SPに権限を与えるしくみ
OAuth Provider Request -   Spec
• 既に共有しているConsumer Keyを利用
• 追加パラメータ
   • xoauth_provider_key : provider識別文字列。ドメイン。
      • ConsumerがProviderを一意に識別するには、(SP)-(ConsumerKey)
        の組み合わせが必要
• 署名周り
   • HMAC-SHAx
      • OAuthと同じ
   • RSA-SHAx
      • generate : ProviderのPrivate Key
      • validate : ProviderのPublic Key
• TBD : 3legged
ご静聴ありがとうございました
• OpenID User Interface Extension 1.0 - DRAFT 0.5
   • http://svn.openid.net/repos/specifications/user_interface/
     1.0/trunk/openid-user-interface-extension-1_0.html
• OpenID OAuth Extension
   • http://step2.googlecode.com/svn/spec/openid_oauth_ext
     ension/latest/openid_oauth_extension.html
• UX
   • http://wiki.openid.net/Details-of-UX-Best-Practices-for-
     OPs
   • http://wiki.openid.net/Details-of-UX-Best-Practices-for-
     RPs

Más contenido relacionado

La actualidad más candente

CIBA (Client Initiated Backchannel Authentication) の可能性 #authlete #api #oauth...
CIBA (Client Initiated Backchannel Authentication) の可能性 #authlete #api #oauth...CIBA (Client Initiated Backchannel Authentication) の可能性 #authlete #api #oauth...
CIBA (Client Initiated Backchannel Authentication) の可能性 #authlete #api #oauth...Tatsuo Kudo
 
Cloud Identity Summit 2011 TOI
Cloud Identity Summit 2011 TOICloud Identity Summit 2011 TOI
Cloud Identity Summit 2011 TOITatsuo Kudo
 
PDSを実現するにあたっての技術動向の紹介 (OAuth, OpenID Connect, UMAなど)
PDSを実現するにあたっての技術動向の紹介 (OAuth, OpenID Connect, UMAなど)PDSを実現するにあたっての技術動向の紹介 (OAuth, OpenID Connect, UMAなど)
PDSを実現するにあたっての技術動向の紹介 (OAuth, OpenID Connect, UMAなど)Tatsuo Kudo
 
OAuth / OpenID Connect (OIDC) の最新動向と Authlete のソリューション
OAuth / OpenID Connect (OIDC) の最新動向と Authlete のソリューションOAuth / OpenID Connect (OIDC) の最新動向と Authlete のソリューション
OAuth / OpenID Connect (OIDC) の最新動向と Authlete のソリューションTatsuo Kudo
 
OpenID Connect入門
OpenID Connect入門OpenID Connect入門
OpenID Connect入門土岐 孝平
 
OID to OIDC idcon mini vol1
OID to OIDC idcon mini vol1OID to OIDC idcon mini vol1
OID to OIDC idcon mini vol1Ryo Ito
 

La actualidad más candente (6)

CIBA (Client Initiated Backchannel Authentication) の可能性 #authlete #api #oauth...
CIBA (Client Initiated Backchannel Authentication) の可能性 #authlete #api #oauth...CIBA (Client Initiated Backchannel Authentication) の可能性 #authlete #api #oauth...
CIBA (Client Initiated Backchannel Authentication) の可能性 #authlete #api #oauth...
 
Cloud Identity Summit 2011 TOI
Cloud Identity Summit 2011 TOICloud Identity Summit 2011 TOI
Cloud Identity Summit 2011 TOI
 
PDSを実現するにあたっての技術動向の紹介 (OAuth, OpenID Connect, UMAなど)
PDSを実現するにあたっての技術動向の紹介 (OAuth, OpenID Connect, UMAなど)PDSを実現するにあたっての技術動向の紹介 (OAuth, OpenID Connect, UMAなど)
PDSを実現するにあたっての技術動向の紹介 (OAuth, OpenID Connect, UMAなど)
 
OAuth / OpenID Connect (OIDC) の最新動向と Authlete のソリューション
OAuth / OpenID Connect (OIDC) の最新動向と Authlete のソリューションOAuth / OpenID Connect (OIDC) の最新動向と Authlete のソリューション
OAuth / OpenID Connect (OIDC) の最新動向と Authlete のソリューション
 
OpenID Connect入門
OpenID Connect入門OpenID Connect入門
OpenID Connect入門
 
OID to OIDC idcon mini vol1
OID to OIDC idcon mini vol1OID to OIDC idcon mini vol1
OID to OIDC idcon mini vol1
 

Destacado

Caracteristicas de las herramientas web 2
Caracteristicas de las herramientas web 2Caracteristicas de las herramientas web 2
Caracteristicas de las herramientas web 2samuel meza beltran
 
Recommendation Letter_CBA
Recommendation Letter_CBARecommendation Letter_CBA
Recommendation Letter_CBAJacky Hui
 
Estrategia Social Media
Estrategia Social MediaEstrategia Social Media
Estrategia Social MediaJesus Ayala
 
Analyzing the Convention
Analyzing the ConventionAnalyzing the Convention
Analyzing the ConventionMadison S
 
Diarios de lectura3 2º evaluacion
Diarios de lectura3   2º evaluacionDiarios de lectura3   2º evaluacion
Diarios de lectura3 2º evaluacioneuvalledorfer
 
Smol'yannikova v melanoma_forum_2016_1p
Smol'yannikova v melanoma_forum_2016_1pSmol'yannikova v melanoma_forum_2016_1p
Smol'yannikova v melanoma_forum_2016_1pEAFO2014
 
Dante agostini primo corso solfeggi ritmici, parlate e cantati
Dante agostini primo corso  solfeggi ritmici, parlate e cantati Dante agostini primo corso  solfeggi ritmici, parlate e cantati
Dante agostini primo corso solfeggi ritmici, parlate e cantati jaqueline jaqueline
 
Seminar Conference Training & Meeting Room Rental
Seminar Conference Training & Meeting Room Rental Seminar Conference Training & Meeting Room Rental
Seminar Conference Training & Meeting Room Rental Muhammad Nor
 
[MinhaVida TechDay] NEO4J
[MinhaVida TechDay] NEO4J[MinhaVida TechDay] NEO4J
[MinhaVida TechDay] NEO4JCleber Dantas
 
YAPC::Tokyo 2013 ritou OpenID Connect
YAPC::Tokyo 2013 ritou OpenID ConnectYAPC::Tokyo 2013 ritou OpenID Connect
YAPC::Tokyo 2013 ritou OpenID ConnectRyo Ito
 

Destacado (17)

Caracteristicas de las herramientas web 2
Caracteristicas de las herramientas web 2Caracteristicas de las herramientas web 2
Caracteristicas de las herramientas web 2
 
RESUME 2015
RESUME 2015RESUME 2015
RESUME 2015
 
Recommendation Letter_CBA
Recommendation Letter_CBARecommendation Letter_CBA
Recommendation Letter_CBA
 
The street picture
The street pictureThe street picture
The street picture
 
Estrategia Social Media
Estrategia Social MediaEstrategia Social Media
Estrategia Social Media
 
Analyzing the Convention
Analyzing the ConventionAnalyzing the Convention
Analyzing the Convention
 
Ca ebs 2015
Ca ebs 2015Ca ebs 2015
Ca ebs 2015
 
ppt.biggift 1203 new
ppt.biggift 1203 newppt.biggift 1203 new
ppt.biggift 1203 new
 
img-627131142
img-627131142img-627131142
img-627131142
 
Diarios de lectura3 2º evaluacion
Diarios de lectura3   2º evaluacionDiarios de lectura3   2º evaluacion
Diarios de lectura3 2º evaluacion
 
Smol'yannikova v melanoma_forum_2016_1p
Smol'yannikova v melanoma_forum_2016_1pSmol'yannikova v melanoma_forum_2016_1p
Smol'yannikova v melanoma_forum_2016_1p
 
Dante agostini primo corso solfeggi ritmici, parlate e cantati
Dante agostini primo corso  solfeggi ritmici, parlate e cantati Dante agostini primo corso  solfeggi ritmici, parlate e cantati
Dante agostini primo corso solfeggi ritmici, parlate e cantati
 
Kiriland 2012
Kiriland 2012Kiriland 2012
Kiriland 2012
 
venkat_emb
venkat_embvenkat_emb
venkat_emb
 
Seminar Conference Training & Meeting Room Rental
Seminar Conference Training & Meeting Room Rental Seminar Conference Training & Meeting Room Rental
Seminar Conference Training & Meeting Room Rental
 
[MinhaVida TechDay] NEO4J
[MinhaVida TechDay] NEO4J[MinhaVida TechDay] NEO4J
[MinhaVida TechDay] NEO4J
 
YAPC::Tokyo 2013 ritou OpenID Connect
YAPC::Tokyo 2013 ritou OpenID ConnectYAPC::Tokyo 2013 ritou OpenID Connect
YAPC::Tokyo 2013 ritou OpenID Connect
 

Similar a 091009 Identity Conference #6 ritou

0905xx Hybrid Memo
0905xx Hybrid Memo0905xx Hybrid Memo
0905xx Hybrid MemoRyo Ito
 
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
 
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
 
Anonymous OAuth Test
Anonymous OAuth TestAnonymous OAuth Test
Anonymous OAuth TestRyo Ito
 
Introduction of OAuth 2.0 vol.1
Introduction of OAuth 2.0 vol.1Introduction of OAuth 2.0 vol.1
Introduction of OAuth 2.0 vol.1Ryo Ito
 
Idcon25 FIDO2 の概要と YubiKey の実装
Idcon25 FIDO2 の概要と YubiKey の実装Idcon25 FIDO2 の概要と YubiKey の実装
Idcon25 FIDO2 の概要と YubiKey の実装Haniyama Wataru
 
Yahoo! JAPANのOpenID Certified Mark取得について
Yahoo! JAPANのOpenID Certified Mark取得についてYahoo! JAPANのOpenID Certified Mark取得について
Yahoo! JAPANのOpenID Certified Mark取得についてMasaru Kurahayashi
 
Opauthライブラリによるtwitter,facebook認証について
Opauthライブラリによるtwitter,facebook認証についてOpauthライブラリによるtwitter,facebook認証について
Opauthライブラリによるtwitter,facebook認証について松本 雄貴
 
FAPI and Beyond: From an specification author's point of view #fapisum - Japa...
FAPI and Beyond: From an specification author's point of view #fapisum - Japa...FAPI and Beyond: From an specification author's point of view #fapisum - Japa...
FAPI and Beyond: From an specification author's point of view #fapisum - Japa...FinTechLabs.io
 
FIWARE の ID 管理、アクセス制御、API 管理
FIWARE の ID 管理、アクセス制御、API 管理FIWARE の ID 管理、アクセス制御、API 管理
FIWARE の ID 管理、アクセス制御、API 管理fisuda
 
「Windows Phone アプリ と 認証」のまとめ
「Windows Phone アプリ と 認証」のまとめ「Windows Phone アプリ と 認証」のまとめ
「Windows Phone アプリ と 認証」のまとめjunichi anno
 
Chrome ExtensionでSelf-Issued OpenID Provider
Chrome ExtensionでSelf-Issued OpenID ProviderChrome ExtensionでSelf-Issued OpenID Provider
Chrome ExtensionでSelf-Issued OpenID ProviderTakeru Ujinawa
 
ゼロからはじめるサーバーサイド Vol2
ゼロからはじめるサーバーサイド Vol2ゼロからはじめるサーバーサイド Vol2
ゼロからはじめるサーバーサイド Vol2Taichi Inaba
 
クラウドにおける Windows Azure Active Directory の役割
クラウドにおける Windows Azure Active Directory の役割クラウドにおける Windows Azure Active Directory の役割
クラウドにおける Windows Azure Active Directory の役割junichi anno
 
OAuth2.0によるWeb APIの保護
OAuth2.0によるWeb APIの保護OAuth2.0によるWeb APIの保護
OAuth2.0によるWeb APIの保護Naohiro Fujie
 
OpenID_Connect_Spec_Demo
OpenID_Connect_Spec_DemoOpenID_Connect_Spec_Demo
OpenID_Connect_Spec_DemoRyo Ito
 
エンタープライズIT環境での OpenID Connect / SCIM の具体的実装方法 idit2014
エンタープライズIT環境での OpenID Connect / SCIM の具体的実装方法 idit2014エンタープライズIT環境での OpenID Connect / SCIM の具体的実装方法 idit2014
エンタープライズIT環境での OpenID Connect / SCIM の具体的実装方法 idit2014Takashi Yahata
 

Similar a 091009 Identity Conference #6 ritou (20)

0905xx Hybrid Memo
0905xx Hybrid Memo0905xx Hybrid Memo
0905xx Hybrid Memo
 
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入門
 
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
 
Anonymous OAuth Test
Anonymous OAuth TestAnonymous OAuth Test
Anonymous OAuth Test
 
Introduction of OAuth 2.0 vol.1
Introduction of OAuth 2.0 vol.1Introduction of OAuth 2.0 vol.1
Introduction of OAuth 2.0 vol.1
 
Idcon25 FIDO2 の概要と YubiKey の実装
Idcon25 FIDO2 の概要と YubiKey の実装Idcon25 FIDO2 の概要と YubiKey の実装
Idcon25 FIDO2 の概要と YubiKey の実装
 
Yahoo! JAPANのOpenID Certified Mark取得について
Yahoo! JAPANのOpenID Certified Mark取得についてYahoo! JAPANのOpenID Certified Mark取得について
Yahoo! JAPANのOpenID Certified Mark取得について
 
OCHaCafe#5 - 避けては通れない!認証・認可
OCHaCafe#5 - 避けては通れない!認証・認可OCHaCafe#5 - 避けては通れない!認証・認可
OCHaCafe#5 - 避けては通れない!認証・認可
 
Opauthライブラリによるtwitter,facebook認証について
Opauthライブラリによるtwitter,facebook認証についてOpauthライブラリによるtwitter,facebook認証について
Opauthライブラリによるtwitter,facebook認証について
 
FAPI and Beyond: From an specification author's point of view #fapisum - Japa...
FAPI and Beyond: From an specification author's point of view #fapisum - Japa...FAPI and Beyond: From an specification author's point of view #fapisum - Japa...
FAPI and Beyond: From an specification author's point of view #fapisum - Japa...
 
OpenID Connect Summit Transfer of Information
OpenID Connect Summit Transfer of InformationOpenID Connect Summit Transfer of Information
OpenID Connect Summit Transfer of Information
 
FIWARE の ID 管理、アクセス制御、API 管理
FIWARE の ID 管理、アクセス制御、API 管理FIWARE の ID 管理、アクセス制御、API 管理
FIWARE の ID 管理、アクセス制御、API 管理
 
「Windows Phone アプリ と 認証」のまとめ
「Windows Phone アプリ と 認証」のまとめ「Windows Phone アプリ と 認証」のまとめ
「Windows Phone アプリ と 認証」のまとめ
 
Chrome ExtensionでSelf-Issued OpenID Provider
Chrome ExtensionでSelf-Issued OpenID ProviderChrome ExtensionでSelf-Issued OpenID Provider
Chrome ExtensionでSelf-Issued OpenID Provider
 
ゼロからはじめるサーバーサイド Vol2
ゼロからはじめるサーバーサイド Vol2ゼロからはじめるサーバーサイド Vol2
ゼロからはじめるサーバーサイド Vol2
 
クラウドにおける Windows Azure Active Directory の役割
クラウドにおける Windows Azure Active Directory の役割クラウドにおける Windows Azure Active Directory の役割
クラウドにおける Windows Azure Active Directory の役割
 
OAuth2.0によるWeb APIの保護
OAuth2.0によるWeb APIの保護OAuth2.0によるWeb APIの保護
OAuth2.0によるWeb APIの保護
 
OpenID_Connect_Spec_Demo
OpenID_Connect_Spec_DemoOpenID_Connect_Spec_Demo
OpenID_Connect_Spec_Demo
 
エンタープライズIT環境での OpenID Connect / SCIM の具体的実装方法 idit2014
エンタープライズIT環境での OpenID Connect / SCIM の具体的実装方法 idit2014エンタープライズIT環境での OpenID Connect / SCIM の具体的実装方法 idit2014
エンタープライズIT環境での OpenID Connect / SCIM の具体的実装方法 idit2014
 

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
 
OpenID-TechNight-11-LT-mixi
OpenID-TechNight-11-LT-mixiOpenID-TechNight-11-LT-mixi
OpenID-TechNight-11-LT-mixiRyo 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
 
なんとなくOAuth怖いって思ってるやつちょっと来い
なんとなくOAuth怖いって思ってるやつちょっと来いなんとなくOAuth怖いって思ってるやつちょっと来い
なんとなくOAuth怖いって思ってるやつちょっと来いRyo Ito
 
#idcon 15th ritou 2factor auth
#idcon 15th ritou 2factor auth#idcon 15th ritou 2factor auth
#idcon 15th ritou 2factor authRyo 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
 
Account Chooser idcon mini Vol.1
Account Chooser idcon mini Vol.1Account Chooser idcon mini Vol.1
Account Chooser idcon mini Vol.1Ryo Ito
 
BackplaneProtocol超入門
BackplaneProtocol超入門BackplaneProtocol超入門
BackplaneProtocol超入門Ryo Ito
 
UserManagedAccess_idcon13
UserManagedAccess_idcon13UserManagedAccess_idcon13
UserManagedAccess_idcon13Ryo Ito
 
WebIntents × SNS
WebIntents × SNSWebIntents × SNS
WebIntents × SNSRyo 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
 
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
 

Más de Ryo Ito (15)

安全な"○○でログイン"の作り方 @ 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
 
OpenID-TechNight-11-LT-mixi
OpenID-TechNight-11-LT-mixiOpenID-TechNight-11-LT-mixi
OpenID-TechNight-11-LT-mixi
 
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
 
なんとなくOAuth怖いって思ってるやつちょっと来い
なんとなくOAuth怖いって思ってるやつちょっと来いなんとなくOAuth怖いって思ってるやつちょっと来い
なんとなくOAuth怖いって思ってるやつちょっと来い
 
#idcon 15th ritou 2factor auth
#idcon 15th ritou 2factor auth#idcon 15th ritou 2factor auth
#idcon 15th ritou 2factor auth
 
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
 
Account Chooser idcon mini Vol.1
Account Chooser idcon mini Vol.1Account Chooser idcon mini Vol.1
Account Chooser idcon mini Vol.1
 
BackplaneProtocol超入門
BackplaneProtocol超入門BackplaneProtocol超入門
BackplaneProtocol超入門
 
UserManagedAccess_idcon13
UserManagedAccess_idcon13UserManagedAccess_idcon13
UserManagedAccess_idcon13
 
WebIntents × SNS
WebIntents × SNSWebIntents × SNS
WebIntents × SNS
 
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
 
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
 

Último

論文紹介: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
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
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
 
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
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
論文紹介: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
 
論文紹介: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
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 

Último (9)

論文紹介: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
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
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」の紹介
 
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
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
論文紹介: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
 
論文紹介: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...
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 

091009 Identity Conference #6 ritou

  • 1. OpenID Extension紹介 + α =ritou http://d.hatena.ne.jp/ritou
  • 2. 自己紹介 • 名前 • Ryo Ito (id:ritou) • アカウント • twitter,friendfeed,hatena : ritou • ブログ • r-weblife http://d.hatena.ne.jp/ritou/ • 内容はOpenID/OAuthあたり • 所属 • • 2009年10月現在、社会人4年目
  • 3. アジェンダ • OpenID Extension紹介 • OpenID User Interface Extension • OpenID OAuth Extension • OAuthについて
  • 5. OpenID UI Extension Background • OpenID認証ではリダイレクトが使われている • checkid_setupモード • ログイン処理の間だけRPから離れることは良くない • 分離されたpopup window内でAuthNフローが行われ るとUXが改善されると”信じられている” • OPが popupに気付けると、より最適化できる • 画面サイズの使いわけ • ネガティブアサーションの代わりにブラウザ閉じる
  • 6. OpenID UI Extension Spec • 内容 • Requesting Authentication in a Popup : popup • graphical RP representation : OP画面上のRP icon 表示 • Language Preference : 言語指定
  • 7. Requesting AuthN in a Popup • checkid_setupモードのAuthN要求の際、 popupを利用する場合は以下のパラメータを 含む • openid.ns.ui : “http://specs.openid.net/extensions/ui/1.0” • openid.ui.mode : “popup”
  • 8. Requesting AuthN in a Popup Example – Google
  • 9. AuthN Response in a Fragment(調査 • 中) AuthN応答を受けた時のreturn_toが行う処理は重い • まっ白な画面が表示されたり • return_toに”#”が含まれる場合、OPは応答パラメータ をfragment portionとして付加する • 現在、各OPで挙動が違う。。。 • RP側でreturn_toを静的ページにしてブラウザキャッ シュを使うことで速度が改善され、最適化される? • 例 : jsのハンドラに引数を渡し、ブラウザを閉じるだけ?
  • 10. graphical RP representation • OPの承認/同意画面に表示するRPのアイコンを RPが指定する場合、以下のパラメータを含む • openid.ui.icon : “true” • OPは画像のURLをRP Discoveryにより取得して同 意画面に表示する – <Service xmlns="xri://$xrd*($v*2.0)"> <Type>http://specs.openid.net/extensions/ui/icon</Type> <URI>http://consumer.example.com/images/image.jpg</URI> </Service> • 見つからなかったらfavicon
  • 11. graphical RP representation Example – Google
  • 12. Language Preference • checkid_setupモードのAuthN要求の際、RPか らOPに対してユーザーが好む言語に関する” ヒント”を指定 • openid.ns.ui : "http://specs.openid.net/extensions/ui/1.0" • openid.ui.lang : "fr-FR","fr-CA,fr-FR,en-CA“ • Tags for Identifying Languages • http://www.ietf.org/rfc/rfc4646.txt
  • 13. Language Preference Example – Yahoo! openid.ui.lang : fr-FR openid.ui.lang : fr-FR Login Page Consent Page
  • 14. OP’s XRDS discovery document • language preference <Type>http://specs.openid.net/extensions/ui/1.0/lang-pref</Type> • popup <Type>http://specs.openid.net/extensions/ui/1.0/mode/popup</Type> • graphical RP representation <Type>http://specs.openid.net/extensions/ui/1.0/icon</Type>
  • 15. 各OPの対応状況 • Google • popup + icon表示対応 • 画面サイズ : 450×500 • Yahoo!(米) • popup対応してるけど、1画面に統一 • 画面サイズ : 500×500 • language preference対応
  • 16. 現状のまとめ • もっと詰めるべきところがありそう • Window Size • Negative Assertion or Window close? • Initiation • OpenID Form • OP Selector • Others (WebFinger?) • JPで広めるために必要なものは? • 各OPの対応 • あふれ出る日本語の文言をどこまで抑えられるか • BestPractice/ガイドライン? • セキュリティ関連の啓蒙 : iframeはNG,アドレスバー出せとか
  • 18. OpenID AuthN Flow vs OAuth AuthZ Flow 1 1 RP Consumer 2 4 2 4 User User 3 3 OP SP
  • 19. OpenID OAuth Extension • Background • OpenIDとOAuthのUXは似ている • OP=SP, RP=Consumerのときは同じOP(SP)に対して 2回AuthN/AuthZ要求する必要がある • OpenIDのAuthNリクエストにOAuthのAuthZリクエスト を含めれば1回で済む
  • 20. Hybrid Flow RP and •例 : OpenIDでログインしアドレス Consumer ブックのデータをインポート 1. UserがConsumer上でイン 1 ポート先のProviderを選択 2. ConsumerがUserをProvider にリダイレクト 5 3. UserがProvider上で 2 「Consumerにサインインする 4 こととアドレスブックのデータ をシェアすること」について 同意 User 4. OPがClaimed IDとともにUser をConsumerにリダイレクト 3 5. ConsumerはUserを特定しサ インイン処理、アドレスブック のデータインポート処理を実 行 OP and SP
  • 21. OpenID OAuth Extension - Spec • 追加された定義 • Combined Provider • OP かつ SP : Google, MySpace, Yahoo • Combined Consumer • RP かつ Consumer : Plaxo, RPX使ってるとこ • Extension Namespace • http://specs.openid.net/extensions/oauth/1.0
  • 22. OpenID OAuth Extension - Spec • Request • 【OpenID】AuthN Request + 【OAuth】Consumer Key • Response • 【OpenID】AuthN Response + 【OAuth】Request Token • After AuthN/Z • 【OpenID】 AuthN Responseを処理 • 【OAuth】 Access Tokenの取得 • Request Tokenと紐づくToken Secretの値は(空) • 【OAuth】 リソースアクセス
  • 24. Usecases • OpenID + Profile API • OpenIDでログイン • AXの代わりにProfile APIで属性情報を使う • OpenID + Contact List API • OpenIDでログイン • Providerのアドレスブックにある友達にInvitationを送信 • OpenID + Activity Stream API • OpenIDでログイン • Consumer上のActivityをProviderのトラヒックに乗せる • たくさんの人の目に止まる → Consumerへの誘導増加 • 小さなConsumerでも世界中のユーザーにアピールできる • WhiteList対応
  • 28. OAuthについて • OAuth for Mobile • OAuthとOpenSocial • OAuth Provider Request
  • 29. OAuth for Mobile • 仕様的にはOpenIDよりもMobileに適している • 重い処理はDirect Communicationでやる • RequestToken/OAuth Verifierを短くできればURL長も OK • 使いどころ • モバイルサイトからのOAuth利用 • PC/Mobile以外のデバイスで動くConsumerの認可デ バイスとして利用 • TV,デジタル家電,カーナビとか? • “同意”だけMobileで • カーナビより、テレビよりは文字入力しやすい、経験がある
  • 30. OAuth :TV + Mobile flow 1.QRコード表示 2.ログイン/同意 3.Verifier入力 4.APIアクセス
  • 31. ClientApp を意識しているY!のOAuth • User AuthZ URL • Request Tokenパラメータは任意 • https://api.login.yahoo.com/oauth/v2/request_auth • https://auth.login.yahoo.co.jp/oauth/v2/request_auth • Request Token/OAuth Verifierは短め • 手動入力を意識
  • 32. OAuthとOpenSocial • OpenSocialが流行るとOAuthも使われる • SignedRequest = 2legged • makeRequest = 3legged • RESTful APIで定義されるAPIが増えるとContainer じゃないOAuthのSPもAPIを出しやすい? • 開発者にやさしい共通仕様 • ライブラリの充実 • ノウハウ蓄積 • SPはどうやって個性を出していけるかが勝負!
  • 33. Proposal : OAuth Provider Request • OAuthでProviderからConsumerに送られる Requestがあってもいいのでは? • CXの話で語られているような非同期通信 • ID状態の連携 • SP上でIDがディアクティベートされたことを通知 • 通知を受けて、Consumerはリカバリーフローを用意 • SPがConsumerのユーザーリソースにアクセス (3legged?) • SPに権限を与えるしくみ
  • 34. OAuth Provider Request - Spec • 既に共有しているConsumer Keyを利用 • 追加パラメータ • xoauth_provider_key : provider識別文字列。ドメイン。 • ConsumerがProviderを一意に識別するには、(SP)-(ConsumerKey) の組み合わせが必要 • 署名周り • HMAC-SHAx • OAuthと同じ • RSA-SHAx • generate : ProviderのPrivate Key • validate : ProviderのPublic Key • TBD : 3legged
  • 35. ご静聴ありがとうございました • OpenID User Interface Extension 1.0 - DRAFT 0.5 • http://svn.openid.net/repos/specifications/user_interface/ 1.0/trunk/openid-user-interface-extension-1_0.html • OpenID OAuth Extension • http://step2.googlecode.com/svn/spec/openid_oauth_ext ension/latest/openid_oauth_extension.html • UX • http://wiki.openid.net/Details-of-UX-Best-Practices-for- OPs • http://wiki.openid.net/Details-of-UX-Best-Practices-for- RPs