More Related Content
PDF
OAuth認証再考からのOpenID Connect #devlove PDF
OpenID Connect 入門 〜コンシューマーにおけるID連携のトレンド〜 PDF
OpenID Connect - Nat Sakimura at OpenID TechNight #7 PDF
PDF
[SC07] Azure AD と Ruby で学ぶ OpenID Connect! PPT
PDF
ID & IT 2013 - OpenID Connect Hands-on PDF
What's hot
PDF
PDF
PDSを実現するにあたっての技術動向の紹介 (OAuth, OpenID Connect, UMAなど) PDF
OAuth / OpenID Connect (OIDC) の最新動向と Authlete のソリューション PDF
CIBA (Client Initiated Backchannel Authentication) の可能性 #authlete #api #oauth... PDF
OID to OIDC idcon mini vol1 PDF
Cloud Identity Summit 2011 TOI Viewers also liked
PDF
Dante agostini primo corso solfeggi ritmici, parlate e cantati PDF
PDF
Seminar Conference Training & Meeting Room Rental PDF
PDF
YAPC::Tokyo 2013 ritou OpenID Connect DOC
PDF
Smol'yannikova v melanoma_forum_2016_1p PPTX
Caracteristicas de las herramientas web 2 PPTX
[MinhaVida TechDay] NEO4J PPTX
PDF
Diarios de lectura3 2º evaluacion PDF
PDF
Recommendation Letter_CBA DOCX
PDF
PPTX
DOCX
Similar to 091009 Identity Conference #6 ritou
PDF
OCHaCafe#5 - 避けては通れない!認証・認可 PDF
The Latest Specs of OpenID Connect at #idcon 9 PDF
なぜOpenID Connectが必要となったのか、その歴史的背景 PDF
PDF
PDF
なんとなくOAuth怖いって思ってるやつちょっと来い PDF
PDF
PPTX
Opauthライブラリによるtwitter,facebook認証について PDF
Standard-based Identity (1) PDF
アイデンティティ2.0とOAuth/OpenID Connect PDF
PPTX
「Windows Phone アプリ と 認証」のまとめ PDF
PDF
OpenID Connect, December 2011 PDF
PPT
PDF
Twitter連携chrome extension作り方 PDF
PDF
安全な"○○でログイン"の作り方 @ NDS in Niigata #1 More from Ryo Ito
PDF
PDF
#idcon 15th ritou 2factor auth PDF
Idcon 17th ritou OAuth 2.0 CSRF Protection PDF
PDF
OAuth 2.0 Dance School #swj PDF
Introduction of OAuth 2.0 vol.1 PDF
Summary of OAuth 2.0 draft 8 memo PDF
UserManagedAccess_idcon13 PDF
PDF
OpenID-TechNight-11-LT-mixi PDF
idcon mini vol3 CovertRedirect PDF
Open id connect claims idcon mini vol1 PDF
Account Chooser idcon mini Vol.1 PDF
OAuth 2.0 MAC Authentication PDF
091009 Identity Conference #6 ritou
- 1.
- 2.
自己紹介
• 名前
•Ryo Ito (id:ritou)
• アカウント
• twitter,friendfeed,hatena : ritou
• ブログ
• r-weblife http://d.hatena.ne.jp/ritou/
• 内容はOpenID/OAuthあたり
• 所属
•
• 2009年10月現在、社会人4年目
- 3.
- 4.
- 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 ina Popup
• checkid_setupモードのAuthN要求の際、
popupを利用する場合は以下のパラメータを
含む
• openid.ns.ui :
“http://specs.openid.net/extensions/ui/1.0”
• openid.ui.mode : “popup”
- 8.
- 9.
AuthN Response ina 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.
- 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.
- 14.
OP’s XRDS discoverydocument
• 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,アドレスバー出せとか
- 17.
- 18.
- 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】 リソースアクセス
- 23.
- 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対応
- 25.
- 26.
- 27.
- 28.
- 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
• UserAuthZ 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.
- 33.
Proposal : OAuthProvider 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 UserInterface 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