Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
Uploaded by
Ryo Ito
882 views
OAuth 2.0 Dance School #swj
Social Web Conference vol.6で発表したスライドです。
Technology
◦
Read more
4
Save
Share
Embed
Embed presentation
1
/ 41
2
/ 41
3
/ 41
4
/ 41
5
/ 41
6
/ 41
7
/ 41
8
/ 41
9
/ 41
10
/ 41
11
/ 41
12
/ 41
13
/ 41
14
/ 41
15
/ 41
16
/ 41
17
/ 41
18
/ 41
19
/ 41
20
/ 41
21
/ 41
22
/ 41
23
/ 41
24
/ 41
25
/ 41
26
/ 41
27
/ 41
28
/ 41
29
/ 41
30
/ 41
31
/ 41
32
/ 41
33
/ 41
34
/ 41
35
/ 41
36
/ 41
37
/ 41
38
/ 41
39
/ 41
40
/ 41
41
/ 41
More Related Content
PDF
mtech certificate.compressed
by
ISMAIL TP
PDF
WebIntents × SNS
by
Ryo Ito
PDF
BD newsletter March 2016
by
Kellyann Sykora
PDF
Compred domoteka
by
Andrew Marcus
PDF
1 The impact of social entrepreneurship AR (2)
by
Costanza Gallo
PDF
Letter of Recommendation
by
Kellyann Sykora
PPT
Lasticcomorecursodeldocentedenivel
by
Agustina Barranco
DOC
1014 Tim Wright
by
Tim Wright
mtech certificate.compressed
by
ISMAIL TP
WebIntents × SNS
by
Ryo Ito
BD newsletter March 2016
by
Kellyann Sykora
Compred domoteka
by
Andrew Marcus
1 The impact of social entrepreneurship AR (2)
by
Costanza Gallo
Letter of Recommendation
by
Kellyann Sykora
Lasticcomorecursodeldocentedenivel
by
Agustina Barranco
1014 Tim Wright
by
Tim Wright
Viewers also liked
PDF
Dragun v eafo_melanoma forum_2016
by
EAFO2014
PDF
Efectos biologicos de las radiaciones ionizantes
by
Eduardo Medina Gironzini
PDF
Curso de lectura elemental
by
jaqueline jaqueline
PPTX
O Cortiço - Aluísio Azevedo
by
Nicholas Nascimento
PPTX
DIREITO À SAÚDE NO BRASIL: Uma análise à luz da Constituição Federal de 1988
by
Kleiton Barbosa
DOC
Tim Wright (Pension CV)
by
Tim Wright
PDF
OAuth 2.0 MAC Authentication
by
Ryo Ito
PDF
RESTORE
by
Kellyann Sykora
PPTX
Nba
by
manolas13
PDF
BD newsletter May 2016
by
Kellyann Sykora
PDF
BD newsletter February 2016 (1)
by
Kellyann Sykora
PDF
Novikov v eafo_melanoma forum_2016
by
EAFO2014
PDF
Diario Resumen 20151023
by
Diario Resumen
PPTX
Ontologies and Linked Open Data in theLifeWatch Greece Research Infrastructure
by
ymark_em
Dragun v eafo_melanoma forum_2016
by
EAFO2014
Efectos biologicos de las radiaciones ionizantes
by
Eduardo Medina Gironzini
Curso de lectura elemental
by
jaqueline jaqueline
O Cortiço - Aluísio Azevedo
by
Nicholas Nascimento
DIREITO À SAÚDE NO BRASIL: Uma análise à luz da Constituição Federal de 1988
by
Kleiton Barbosa
Tim Wright (Pension CV)
by
Tim Wright
OAuth 2.0 MAC Authentication
by
Ryo Ito
RESTORE
by
Kellyann Sykora
Nba
by
manolas13
BD newsletter May 2016
by
Kellyann Sykora
BD newsletter February 2016 (1)
by
Kellyann Sykora
Novikov v eafo_melanoma forum_2016
by
EAFO2014
Diario Resumen 20151023
by
Diario Resumen
Ontologies and Linked Open Data in theLifeWatch Greece Research Infrastructure
by
ymark_em
More from Ryo Ito
PDF
The Latest Specs of OpenID Connect at #idcon 9
by
Ryo Ito
PDF
Ritou idcon7
by
Ryo Ito
PDF
Idcon11 implicit demo
by
Ryo Ito
PDF
なんとなくOAuth怖いって思ってるやつちょっと来い
by
Ryo Ito
PDF
OpenID_Connect_Spec_Demo
by
Ryo Ito
PDF
Idcon 17th ritou OAuth 2.0 CSRF Protection
by
Ryo Ito
PDF
#idcon 15th ritou 2factor auth
by
Ryo Ito
PDF
Summary of OAuth 2.0 draft 8 memo
by
Ryo Ito
PDF
0905xx Hybrid Memo
by
Ryo Ito
PDF
UserManagedAccess_idcon13
by
Ryo Ito
PDF
Introduction of OAuth 2.0 vol.1
by
Ryo Ito
PDF
Anonymous OAuth Test
by
Ryo Ito
PDF
BackplaneProtocol超入門
by
Ryo Ito
PDF
idcon mini vol3 CovertRedirect
by
Ryo Ito
PDF
Open id connect claims idcon mini vol1
by
Ryo Ito
PDF
OID to OIDC idcon mini vol1
by
Ryo Ito
PDF
Account Chooser idcon mini Vol.1
by
Ryo Ito
PDF
安全な"○○でログイン"の作り方 @ NDS in Niigata #1
by
Ryo Ito
PDF
OpenID-TechNight-11-LT-mixi
by
Ryo Ito
PDF
YAPC::Tokyo 2013 ritou OpenID Connect
by
Ryo Ito
The Latest Specs of OpenID Connect at #idcon 9
by
Ryo Ito
Ritou idcon7
by
Ryo Ito
Idcon11 implicit demo
by
Ryo Ito
なんとなくOAuth怖いって思ってるやつちょっと来い
by
Ryo Ito
OpenID_Connect_Spec_Demo
by
Ryo Ito
Idcon 17th ritou OAuth 2.0 CSRF Protection
by
Ryo Ito
#idcon 15th ritou 2factor auth
by
Ryo Ito
Summary of OAuth 2.0 draft 8 memo
by
Ryo Ito
0905xx Hybrid Memo
by
Ryo Ito
UserManagedAccess_idcon13
by
Ryo Ito
Introduction of OAuth 2.0 vol.1
by
Ryo Ito
Anonymous OAuth Test
by
Ryo Ito
BackplaneProtocol超入門
by
Ryo Ito
idcon mini vol3 CovertRedirect
by
Ryo Ito
Open id connect claims idcon mini vol1
by
Ryo Ito
OID to OIDC idcon mini vol1
by
Ryo Ito
Account Chooser idcon mini Vol.1
by
Ryo Ito
安全な"○○でログイン"の作り方 @ NDS in Niigata #1
by
Ryo Ito
OpenID-TechNight-11-LT-mixi
by
Ryo Ito
YAPC::Tokyo 2013 ritou OpenID Connect
by
Ryo Ito
OAuth 2.0 Dance School #swj
1.
OAuth 2.0 Dance
School @ritou SocialWeb Conference vol.6 ~OAuth Night~
2.
自己紹介 • 伊東 諒(@ritou) •
ヤフー株式会社 所属 2006~ – Login – ログイン履歴/ログインシール/ログインアラート – OpenID/OAuth • http://d.hatena.ne.jp/ritou 2
3.
本日のGOAL • OAuth 1.0仕様の難しさを整理しよう •
最新仕様 OAuth 2.0を知ろう • OAuthの今後を少し考えてみよう 3
4.
OAuth 1.0の課題 • Signature/Authorization
Header – 仕様が複雑/ライブラリ必須 • User Experience / Profile(Flow) – 実際使われてるのはWebアプリのみ – デスクトップアプリにシークレットって置いて良いの? – Facebookって昔から使いやすいよね • Performance / Scale – トークンシークレットって意味あるの? – 署名の確認に、毎回クライアントクレデンシャル(2個)と トークンクレデンシャル(2個)の両方が必要 4
5.
OAuth 1.0の課題 • Signature/Authorization
Header – 仕様が複雑/ライブラリ必須 • User Experience / Profile(Flow) – 実際使われてるのはWebアプリのみ – デスクトップアプリにシークレットって置いて良いの? – Facebookって昔から使いやすいよね • Performance / Scale – トークンシークレットって意味あるの? – 署名の確認に、毎回クライアントクレデンシャル(2個)と トークンクレデンシャル(2個)の両方が必要 5
6.
OAuth 1.0の課題 • Signature/Authorization
Header – 仕様が複雑/ライブラリ必須 • User Experience / Profile(Flow) – 実際使われてるのはWebアプリのみ – デスクトップアプリにシークレットって置いて良いの? – Facebookって昔から使いやすいよね • Performance / Scale – トークンシークレットって意味あるの? – 署名の確認に、毎回クライアントクレデンシャル(2個)と トークンクレデンシャル(2個)の両方が必要 6
7.
OAuth WRAP登場 • HTTPS必須で署名不要 •
トークンのみでリソースアクセス • 新たなフロー(Profile) • 対応Provider – FriendFeed – Google これをベースにして作られてるのが。。。 7
8.
The OAuth 2.0
Protocol 現在、IETFにて仕様策定中(Draft 10) http://tools.ietf.org/html/draft-ietf-oauth-v2-10 9月前半で次のDraft(11)が出るっぽい 2010年冬-2011年春? 仕様Fix 8
9.
OAuthの歴史 • 2007/12 OAuth
Core 1.0 • 2009/6 OAuth Core 1.0 Revision A • 2009/7 Yahoo! JAPANもSPに! • 2009/12 OAuth WRAP • 2010/4 OAuth 1.0 RFC 5849 = Revision A • 2010-2011 OAuth 2.0 9
10.
登場人物 End User
Authorization Server Client Resource Server 10
11.
Accessing a Protected
Resource • 必要なのはAccess Tokenのみ – Signature不要 – Web BrowserとHTTP Cookieのような関係 • 指定方法 – Authorization Header – URI Query Parameter – Form-Encoded Body Parameter 11
12.
Client Type Client TypeによりAccess
Tokenの取得方法が異なる • Web Servers – Webサーバ上で動作。サーバ間通信が可能 • User-Agents – JSなど、User-Agent上で動作。Secret不要。 • Native Applications – iPhone/Android App – Desktop App • Autonomous Clients 12
13.
Profiles(フロー) • OAuth 2.0の2大フロー
– Web Server Profile → Facebook Graph API – User-Agent Profile →Twitter @Anywhere 13
14.
Web Server Profile End
User Client AuthZ Resource Server Server 1. Clientにサービス要求 2. AuthZ Serverにリダイレクト 3. 認証/認可処理 4. Clientにリダイレクト 5. Access Token取得 6. Protect Resourceにアクセス 7. Access Token更新 14
15.
Facebook Graph API
デモ • https://r-weblife.sakura.ne.jp/oauth2_sample_fb/ 15
16.
1. Clientにサービス要求
• Clientにサービスを要 求する End User Client AServer RServer 16
17.
2. AuthZ Serverにリダイレクト
• Clientは AuthZ Serverの • パラメータ End-user Authorization – response_type Endpointにユーザーを送 • “code” : Web Server る Profile – client_id – redirect_uri End User Client AServer RServer – scope (option) – state (option) 17
18.
3. 認証/認可処理
• End Userの本人確認 • Clientにデータを渡すこと に対する同意取得 End User Client AServer RServer 18
19.
4. Clientにリダイレクト
• AuthZ Server は • パラメータ Authrozation Codeをパ ラメータに付加し、 – code redirect_uriにユーザーを – state (option) 送る End User Client AServer RServer 19
20.
5. Access Token取得
• Clientは AuthZ Serverの • リクエストパラメータ Token Endpointに直接通 – grant_type 信を送り、Access Token • “authorization_code” を要求 • TLS必須! – client_id – client_secret End User Client AServer RServer – code – redirect_uri 20
21.
5. Access Token取得
• AuthZ ServerはClientに • JSON フォーマット Access Token, Refresh • レスポンスパラメータ Tokenを返す – access_token • Access Tokenの有効期 限は短く、Refresh Token – expires_in を用いて更新する (option) End User Client AServer RServer – refresh_token (option) – scope (option) 21
22.
6. Protect Resourceにアクセス
• ClientはAccess Tokenを • リクエストパラメータ 用いてリソースアクセスを – token 行う End User Client AServer RServer 22
23.
7. Access Token更新
• Clientは AuthZ Serverの • リクエストパラメータ Token Endpointに直接通 – grant_type 信を送り、Access Token • “refresh_token” の更新を要求 – client_id – client_secret End User Client AServer RServer – refresh_token 23
24.
7. Access Token更新
• AuthZ ServerはClientに • JSON フォーマット 新しいAccess Tokenを返 • レスポンスパラメータ す – access_token – expires_in (option) End User Client AServer RServer – scope (option) 24
25.
User-Agent Profile End User
Client AuthZ Resource Server Server 1. Clientサービス要求 2. AuthZ Serverにリダイレクト 3. 認証/認可処理 4. Clientにリダイレクト 5. Access Token取得 6. Protect Resourceにアクセス 25
26.
Twitter @Anywhere デモ •
https://r-weblife.sakura.ne.jp/oauth2_sample_anywhere/ 26
27.
1. Clientにサービス要求
• Clientにサービスを要 求する End User Client AuthZ Resource Server Server 27
28.
2. AuthZ Serverにリダイレクト
• Clientは AuthZ Serverの • パラメータ End-user Authorization – response_type Endpointにユーザーを送 • “token” : User-Agent る Profile – client_id – redirect_uri End User Client AuthZ Server Resource Server – scope (option) – state (option) 28
29.
3. 認証/認可処理
• End Userの本人確認 • Clientにデータを渡すこと に対する同意取得 End User Client AuthZ Resource Server Server 29
30.
4. Clientにリダイレクト
• AuthZ Serverはフラグメン • パラメータ ト識別子にAccess Token – access_token の値を付加してユーザーを redirect_uriに送る – expires_in (option) – scope (option) End User Client AuthZ Server Resource Server – state (option) 30
31.
5. Access Token取得
• JavaScriptなどでフラグメ ント識別子からAccess Tokenの値を取得 End User Client AuthZ Resource Server Server 31
32.
6. Protect Resourceにアクセス
• ClientはAccess Tokenを • リクエストパラメータ 用いてリソースアクセスを – token 行う End User Client AuthZ Resource Server Server 32
33.
Native Application
ガイドラインのようなものが記載されている • 外部ブラウザを立ち上げる – カスタムURIスキームなどを用いてシームレスに • 内臓ブラウザを利用 – セキュリティに難あり? • ユーザーのID/PWを利用(非推奨) – SignatureなしのxAuth 33
34.
OAuth 2.0 メリット •
シンプルな仕様 – 1.0aにあったRequest Tokenがなくなった – Signatureに悩まされなくなる – User-Agent上で動作するClientの実装が可能 になった • 他のシステム/プラットフォームと連携可能 – 2legged OAuth – SAML 34
35.
OAuth 2.0 で気になること •
URLが長くなる?(→JPのモバイルに影響) – 1.0aのRequestTokenはURL短縮という意味で はよかったのかも • Core部分以外の仕様があいまい – Scope, User Identifier… • いまさらだけど、本当に署名なくて大丈夫? 今後の仕様に期待! 35
36.
OpenIDとOAuthの関係 • OpenID Auth
2.0 vs OAuth 1.0 – OAuth 1.0の方がSexy? – Hybridで(むりやり?)共存可能 • 両方の機能持っていないといけない • モバイルフローに課題 • OpenID v.Next vs OAuth 2.0 – OAuth 2.0ベース or 互換性をもった形になる! 36
37.
OAuthの未来 • 全てのリソースアクセスをOAuthが担う –
ソーシャル系からPIM、決済、POP/IMAPまで • 他のプロトコルやプラットフォームとの連携 – SAML,OpenID,OpenSocial… • 端末に縛られない! – Web/Mobileアプリからデジタル家電まで対応 できるClient Profile 37
38.
そんな未来を目指すために • OAuthでシングルサインオン • フィッシング対策 •
認可範囲など、細かい考え方 日本とUSはいろいろ考えが違うので、議論しながら 日本独自の拡張をみんなで考えていきたい http://oauth.jp/ 38
39.
これからもOAuthを盛り上げて行きましょう!
39
40.
最後にちょっと告知 • Yahoo! JAPANはOAuthのSP機能につい
て、改修を行いました – SSO機能の利便性向上 • 「パスワード入力の省略」機能 – ユーザーの利便性向上 • 「次回から同意省略」機能 – クライアントアプリ対応(パートナー企業様限定) • カスタムURIスキーム対応 • あとでTech Blogなどで紹介します! 40
41.
御静聴ありがとうございました
41