5

これは非常に不快な愚かな質問かもしれませんが、私は私の人生のためにそれに対する迅速で簡潔な答えを見つけることができません。だからここに行きます...

現在、C#/ MVC4 Webアプリ内にFacebook、Twitter、LinkedInの投稿/更新/共有機能を実装しています。各ソーシャルネットワーク上に適切なアプリを作成しました。これは、Webアプリのユーザーが(各ネットワークの標準のOAuthダイアログを介して)承認できるため、ワンクリックで複数/すべてのネットワークにプロファイルの更新を送信できます。私はこの機能の開発を完了し、すべてが設計どおりに機能しています。現在、コードと関連するdbスキーマ(アプリとユーザーに必要なOAuthトークン、特定のネットワークのAPIから取得した拡張ユーザー情報、個別の投稿メトリックなどを保存するために使用)をリファクタリングする段階にあります。頭をかいてしまいました。

それ以上の苦労なしに...質問:

  1. アプリのOAuthトークンについて:FacebookとLinkedInの両方が「コンシューマーキー」と「コンシューマーシークレット」の両方を提供/要求するのに、なぜFacebookは「アプリシークレット」のみを提供/要求するのですか?

  2. アプリユーザーのOAuthトークンについて:FacebookとLinkedInの両方が「アクセストークン」と「アクセストークンシークレット」の両方を提供/要求するのに、なぜFacebookは「アクセストークン」のみを提供/要求するのですか?

これは、Facebook(2.0ドラフト12)とTwitterおよびLinkedIn(1.0a)によって実装されたOAuthプロトコルバージョンの違いによるものですか、それとも完全に別のものですか?

4

1 に答える 1

1

ここにあなたの質問への答えがあります、

1.Facebookは、アプリをFacebook開発者として登録する際に、アプリキーとアプリシークレットの両方を提供します。

2.FacebookはOAuth2.0を使用しているため、アクセストークンと更新トークンのみを提供します(更新トークンは、スコープを指定しているときにオフラインアクセスを要求した場合にのみ提供されます)、アクセストークンの有効期間は1時間です。その後、無効になります。更新するか、新しいアクセストークンを完全に取得します。

この違いは、OAuthプロトコルバージョンOAuth 1.0/1.0aとOAuth2.0の違いによるものです。

于 2013-01-01T12:52:04.163 に答える