<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="13" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[13]</anchor-end> 通常の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">OAuth</anchor> の処理 (<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">3-Legged OAuth</anchor>) に対して、
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">サーバー</anchor>と<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">クライアント</anchor>だけ関与して<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">資源所有者</anchor>がいないなどの理由で)
一部の処理を省いたものを、
<dfn>0-Legged OAuth</dfn>,
<dfn>1-Legged OAuth</dfn>,
<dfn>2-Legged OAuth</dfn>
などと呼ぶようです。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="14" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[14]</anchor-end> 明確な共通仕様は存在せず、色々な<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">サーバー</anchor>がそれぞれの形態で実装しています。
概ね似たようなものですが、細部には違いがあるようです。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="15" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[15]</anchor-end> いずれも <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">OAuth 1.0</anchor> の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">認証された要求</anchor>を用いるものです。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="1" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[1]</anchor-end> <cite xml:lang="ja">OAuth 1.0 for Web Applications - Google Accounts Authentication and Authorization — Google Developers</cite>
(<time>2014-12-12 09:19:57 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://developers.google.com/accounts/docs/OAuth#GoogleAppsOAuth">https://developers.google.com/accounts/docs/OAuth#GoogleAppsOAuth</anchor-external></p><figure class="quote"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="2" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[2]</anchor-end> <cite>OAuth on Bitbucket - Bitbucket - Atlassian Documentation</cite>
(<time>2015-03-05 18:57:21 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://confluence.atlassian.com/display/BITBUCKET/OAuth+on+Bitbucket">https://confluence.atlassian.com/display/BITBUCKET/OAuth+on+Bitbucket</anchor-external></figcaption><blockquote><p>We support both 3-Legged and 2-Legged OAuth.</p></blockquote></figure><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="3" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[3]</anchor-end> <cite xml:lang="en">camme/passport-http-2legged-oauth</cite>
(<time>2015-03-05 19:03:36 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/camme/passport-http-2legged-oauth">https://github.com/camme/passport-http-2legged-oauth</anchor-external></p><figure class="quote"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="4" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[4]</anchor-end> <cite xml:lang="ja">2-legged OAuthによるAPIアクセス &lt;&lt; mixi Developer Center (ミクシィ デベロッパーセンター)</cite>
(<time>2015-01-09 16:42:40 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://developer.mixi.co.jp/appli/spec/mob/2-legged-oauth/">http://developer.mixi.co.jp/appli/spec/mob/2-legged-oauth/</anchor-external></figcaption><blockquote><p>xoauth_requestor_id	(モバイル版アプリ)リクエストパラメータとして送られてくるopensocial_owner_idを設定</p><p>(PC版アプリ)ViewerのIDを設定</p></blockquote></figure><figure class="quote"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="5" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[5]</anchor-end> <cite xml:lang="ja">2-legged OAuthによるAPIアクセス &lt;&lt; mixi Developer Center (ミクシィ デベロッパーセンター)</cite>
(<time>2015-01-09 16:41:56 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://developer.mixi.co.jp/appli/spec/touch/using_restful_api/2-legged-oauth-api-access/">http://developer.mixi.co.jp/appli/spec/touch/using_restful_api/2-legged-oauth-api-access/</anchor-external></figcaption><blockquote><p>mixiアプリにて利用可能なRESTful APIへアクセスするには、2-legged OAuthによる適切な署名が必要です。</p></blockquote></figure><figure class="quote"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="6" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[6]</anchor-end> <cite xml:lang="ja">OAuth認証方法について - GREE Developer Center</cite>
(<time>2015-03-06 00:43:15 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://docs.developer.gree.net/ja/globaltechnicalspecs/oauth">https://docs.developer.gree.net/ja/globaltechnicalspecs/oauth</anchor-external></figcaption><blockquote><p>xoauth_requestor_id	アプリを実行しているGREEユーザーID	ユーザーからデベロッパー様サーバーへのリクエストに含まれる、クエリパラメータのopensocial_viewer_idの値(初回アクセス時のみ付与されます)</p></blockquote></figure><figure class="quote"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="7" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[7]</anchor-end> <cite xml:lang="ja">OAuth認証方法について(GREE Platform for Feature Phone) - GREE Developer Center</cite>
(<time>2015-03-06 00:46:13 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://docs.developer.gree.net/ja/technicalspecs/featurephone/oauth">https://docs.developer.gree.net/ja/technicalspecs/featurephone/oauth</anchor-external></figcaption><blockquote><p>xoauth_requestor_id	アプリを実行しているGREEユーザーID	ガジェットサーバーからデベロッパー様サーバーへのリクエストに含まれる、クエリパラメータopensocial_viewer_idの値</p></blockquote></figure><figure class="quote"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="8" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[8]</anchor-end> <cite>リクエストの署名 - Smartphone App - Mobage Developers Documentation Center</cite>
(<time>2015-03-06 00:48:28 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://docs.mobage.com/display/JPSA/REST_API_Signing_Request_JP">https://docs.mobage.com/display/JPSA/REST_API_Signing_Request_JP</anchor-external></figcaption><blockquote><p>2-legged 方式と 3-legged 方式は基本的には同じ処理を行いますが、3-legged 方式では Access Token を OAuth パラメータのリストに加え、ハッシュ時のキーは Consumer Secret と Access Token Secret の両方を利用します。</p></blockquote></figure><figure class="quote"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="9" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[9]</anchor-end> <cite xml:lang="en-US">Spring Security Tutorial: 0-Legged OAuth 1.0</cite>
(<time>2015-03-06 09:53:00 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://codehustler.org/blog/spring-security-tutorial-0-legged-oauth-1-0/">http://codehustler.org/blog/spring-security-tutorial-0-legged-oauth-1-0/</anchor-external></figcaption><blockquote><p>The first question is what is 0-Legged OAuth? People usually confuse 2-Legged or 1-Legged OAuth for what is effectively 0-Legged OAuth.</p><p>What we’re going to be doing is by-passing all of the steps above (i.e. 0-Legs) and making use of the OAuth Signature for authentiation. </p></blockquote></figure><figure class="quote"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="10" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[10]</anchor-end> <cite xml:lang="en-US">Spring Security Tutorial: 2-Legged OAuth 1.0</cite>
(<time>2015-03-06 09:55:11 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://codehustler.org/blog/spring-security-tutorial-2-legged-oauth-1-0/">http://codehustler.org/blog/spring-security-tutorial-2-legged-oauth-1-0/</anchor-external></figcaption><blockquote><p>Although the Spring documentation has a page regarding 2-Legged OAuth 1.0, this is in fact not a 2-Legged implementation. If you look at our post on 0-Legged OAuth 1.0 you will notice that this is what is actually implemented by the Spring OAuth library. </p><p>Personally I would recommend using 0-Legged OAuth rather than using the 2-Legged version which simply introduces extra trips back and forth between the consumer and the provider.</p></blockquote></figure><figure class="quote"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="11" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[11]</anchor-end> <cite xml:lang="en">Technical details of UserVoice API - UserVoice Developer</cite>
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UserVoice</anchor> 著, <time>2015-01-24 06:02:32 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://developer.uservoice.com/docs/api/technical-details/">https://developer.uservoice.com/docs/api/technical-details/</anchor-external></figcaption><blockquote><p>2-legged OAuth requests- Requests made on behalf of the client not on behalf of any specific user (see any API endpoints marked as requiring a Trusted Client) ex: Retrieving all users for a site, Getting a list of ideas for a private forum.</p></blockquote></figure><figure class="quote"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="12" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[12]</anchor-end> <cite xml:lang="en">Authentication — Marketplace API 2.0 documentation</cite>
(<time>2015-06-24 10:24:58 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://firefox-marketplace-api.readthedocs.org/en/latest/topics/authentication.html">http://firefox-marketplace-api.readthedocs.org/en/latest/topics/authentication.html</anchor-external></figcaption><blockquote><p>Marketplace provides OAuth 1.0a, allowing third-party apps to interact with its API. It provides it in two flavours: 2-legged OAuth, designed for command line tools and 3-legged OAuth designed for web sites.</p></blockquote></figure></body></html>