24
OAuth by agektmr 1

OpenId Tech Night vol.6 OAuth

Embed Size (px)

Citation preview

Page 1: OpenId Tech Night vol.6 OAuth

OAuth by agektmr

1

Page 2: OpenId Tech Night vol.6 OAuth

女優 坂井真紀さん 曰く

2

自主規制

Page 3: OpenId Tech Night vol.6 OAuth

自己紹介 • 北村英志(id:agektmr) •  Tender Surrender(devlog.agektmr.com) •  SocialWeb Japan主催 • Google API Expert (OpenSocial / Buzz) • NTTレゾナント所属 (goo)

3

Page 4: OpenId Tech Night vol.6 OAuth

マッシュアップ •  APIを用いて集めた公開情報を組み合わせ、新しいサービスを作り上げる ‒ 地図 ‒ 公開された写真 ‒ etc.

4

Page 5: OpenId Tech Night vol.6 OAuth

地図マッシュアップの例

5

Page 6: OpenId Tech Night vol.6 OAuth

認証を要するマッシュアップ •  APIを用いて集めたユーザーに紐づく非公開情報を組み合わせ、新しいサービスを作り上げる ‒ アドレス帳 ‒ 非公開の写真 ‒ etc.

6

Page 7: OpenId Tech Night vol.6 OAuth

Twitterマッシュアップの例

7

Page 8: OpenId Tech Night vol.6 OAuth

セキュリティリスク を含むマッシュアップ

8

• リソースオーナーがクライアントに直接クレデンシャル(認可情報)を渡すリスク ‒ 信頼できないクライアント ‒ クライアントの脆弱性による情報漏えい ‒ etc.

リソースオーナー (ユーザー)

クライアント (コンシューマ)

サーバー (サービスプロバイダ)

Page 9: OpenId Tech Night vol.6 OAuth

セキュリティリスク を含むマッシュアップの例

9

Page 10: OpenId Tech Night vol.6 OAuth

そこでOAuth

10

Page 11: OpenId Tech Night vol.6 OAuth

OAuthとは • 認可を必要とするリソースを、クレデンシャルをクライアントに渡すことなくマッシュアップするためのプロトコル

11

Page 12: OpenId Tech Night vol.6 OAuth

Twitterでの利用例(1/3)

12

Page 13: OpenId Tech Night vol.6 OAuth

Twitterでの利用例(2/3)

13

Page 14: OpenId Tech Night vol.6 OAuth

Twitterでの利用例(3/3)

14

Page 15: OpenId Tech Night vol.6 OAuth

OAuthフロー

15

テンポラリクレデンシャル取得 (リクエストトークン/シークレット)

トークンクレデンシャル取得 (アクセストークン/シークレット)

保護されたリソースを取得

ログイン/認可を承認

未認可アクセス

認可済みアクセス

クライアントクレデンシャル (コンシューマキー/シークレット)

Page 16: OpenId Tech Night vol.6 OAuth

Twitter以外の利用例 • OpenSocial(mixi, MySpace, etc.) • Google •  Yahoo! Japan •  Facebook

16

Page 17: OpenId Tech Night vol.6 OAuth

OAuthの拡張

17

Page 18: OpenId Tech Night vol.6 OAuth

OpenID/OAuth Hybrid

18

Page 19: OpenId Tech Night vol.6 OAuth

OAuth Proxy

19

Page 20: OpenId Tech Night vol.6 OAuth

OAuth Consumer Request

20

データ取得

クライアントクレデンシャル

アクセス

Page 21: OpenId Tech Night vol.6 OAuth

xAuth(Twitter)

21

トークンクレデンシャル取得

クライアントクレデンシャル ユーザークレデンシャル (ID/パスワード)

保護されたリソースを取得

認可済みアクセス

Page 22: OpenId Tech Night vol.6 OAuth

OAuthのメリット • クライアントにクレデンシャルを渡す必要がない • 連携しているクライアントを把握しているため、サーバー側で連携を停止することができる

22

Page 23: OpenId Tech Night vol.6 OAuth

OAuthのはらむ危険 • 認可の意味を把握せず利用される危険性 • 認可を行うことで、Twitterのフォロワー全員にダイレクトメッセージを送信するサービスが登場

23

Page 24: OpenId Tech Night vol.6 OAuth

OAuthの未来 • OAuth 1.0 • OAuth 1.0a • OAuth WRAP • OAuth 2.0 • OpenID Connect...

24