OpenId Tech Night vol.6 OAuth

Preview:

Citation preview

OAuth by agektmr

1

女優 坂井真紀さん 曰く

2

自主規制

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

3

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

4

地図マッシュアップの例

5

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

6

Twitterマッシュアップの例

7

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

8

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

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

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

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

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

9

そこでOAuth

10

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

11

Twitterでの利用例(1/3)

12

Twitterでの利用例(2/3)

13

Twitterでの利用例(3/3)

14

OAuthフロー

15

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

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

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

ログイン/認可を承認

未認可アクセス

認可済みアクセス

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

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

16

OAuthの拡張

17

OpenID/OAuth Hybrid

18

OAuth Proxy

19

OAuth Consumer Request

20

データ取得

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

アクセス

xAuth(Twitter)

21

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

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

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

認可済みアクセス

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

22

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

23

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

24

Recommended