Open棟梁Project - マイクロソフト系技術情報 Wiki

-[[戻る>クレームベース認証#k66961ce]]

* 目次 [#qc1590f2]
#contents

*概要 [#ff7046a2]

*OAuthの利用例 [#nb5a56c4]
**Instagramで共有した写真をFacebookやTwitterにも投稿 [#y50e86a3]
Instagramの設定画面から複数の外部サービスと連携するように設定できる。

-InstagramはOAuthを用いて外部サービスに代理投稿するアクセス権限を受け取る。
-すると、Instagramは外部サービスに写真を投稿できるようになる。

-外部サービス
--Twitter
--Facebook

**Facebook Twitter IDでほかのサイトにログイン [#d2a34d61]
「Facebook IDでログイン」や「Twitter IDでログイン」といったボタンで利用されている。

-本来、認証・ID連携のために設計されたものではないが、
--外部サービスにユーザのプロフィール情報を取得するAPIが存在する場合、~
このAPIへのアクセス権限を受け取ることで、認証・ID連携の代替が可能。
--誤った使い方をして脆弱性を生み出しているケースも多い。

-外部サービスの認証を信頼する場合
--Twitter
--Facebook

*OAuthのシーケンス [#e2a0d0ab]
**Step 0:Client Registration [#m875246b]
準備

-クライアント登録の方法についてはOAuthの仕様では定められていない。
-OAuth Clientは、OAuth Serverに対してアプリ名やドメインなどを添えて自身を登録。
-通常はOAuth Serverのデベロッパー向けサイトでOAuth Clientを登録する。

**Step 1:Initiate [#gdaa4c60]
シーケンスの開始

-「Facebook IDでログイン」や「Twitter IDでログイン」といったボタンで開始する。
-OAuth ClientがResource OwnerからAPIアクセス権限の付与を受ける。
-OAuth 1.0とOAuth 2.0とでフローは多少異なる。

**Step 2:Authorization Request [#vc5a8f68]
認可のリクエスト

-OAuth ClientはOAuth Serverにアクセスし、未認可のRequest Tokenを取得する。
-OAuth ClientはRequest Tokenを付与しResource OwnerをOAuth Serverにリダイレクト
-Request Tokenは、OAuth 2.0では「client_id」というパラメータに該当する。

**Step 3:Authenticate User & Get Approval [#i686ca48]
ユーザー認証とアクセス権限付与

-リダイレクトを受けたOAuth Serverは、ユーザを認証(OAuthの仕様には含まれない)する。
-ユーザが使用するOAuth ClientにOAuth Serverへのアクセス権限付与を許可する。

**Step 4:Authorization Response [#g8be73c7]
ユーザ認証、ユーザがアクセス権限の付与を許可した後、

-OAuth ServerはResource OwnerをOAuth Clientにリダイレクトして戻す。
-リダイレクトURLには、アクセス権限を示すトークンが含まれる。

**参考 [#t918c804]
-デジタル・アイデンティティ技術最新動向(1):~
「OAuth」の基本動作を知る (2-2) - @IT~
http://www.atmarkit.co.jp/ait/articles/1208/27/news129_2.html

-第1回 OAuthとは?―OAuthの概念とOAuthでできること:~
ゼロから学ぶOAuth|gihyo.jp … 技術評論社~
http://gihyo.jp/dev/feature/01/oauth/0001?page=2

トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS