質問

今の間、Facebook Graph API(認証にOAuth 2.0を使用)を使用しています。私は今、私自身のAPIを書く必要があります。これにより、開発者は同様の方法でそれに接続できるようになりました。私はさまざまな図書館を探しましたが、私は自分自身を転がすことにしました。コードを見て、私がFacebookでユーザーを認証しなければならないことは比較的単純に見えますが、トラックから外れている場合は私を修正してください。

最初の私は、消費者がリダイレクトする必要がある安全なページを提供する必要があります。例: https://api.mydomain.com/oauth/authorize?client_key&通り; redirect_url= callback_url 。ユーザはアプリケーションを検証することになり、クエリ文字列内のOAuth_Tokenを使用してコールバックURLに提供されているURLに戻すことができます。 OAuth_tokenのためにここにランダムな固有の文字列を生成し、この特定の消費者のためにそれをユーザーに対して保存するだけで(編集:以下の答えを参照してください)。

それはステップ1の途中です。私は今、消費者がWeb要求をトリガーする第2の安全なページを提供する必要があります。例: https://api.mydomain.com/oauth/access_token?client_id= consumer_key& client_secret= consumer_secret&oauth_token= oauth_token_returned_above 。これにより、消費者がアクセストークンについて上記のoauth_tokenを交換することができます。私は再びランダムな一意の文字列を生成し、この特定の消費者のためにそれをユーザーに対して保存するだけです。

今、私のAPIはそれを使用しているユーザーに固有の情報をつかむことを試みるメソッドについてaccess_tokenを受け入れます。

物事を正しく理解しているかどうかを知りたいのですが。それが事実であるならば、OAuth 2.0仕様は非常に些細なようです。また、access_tokenとoauth_tokenを交換する必要があるのですか?私は自分の考えを持っていますが、誰かがこれを明確にするのを助けることができれば私はそれを感謝します。

私はこれを望んでいないほどあなたのフィードバックを本当に感謝し、これを完全に間違っているときに排出する時間を排除したいと思います。

ありがとう

役に立ちましたか?

解決

実際にプロトコルフロー図は、OAuth 2のそのようなスペックを視覚化するのに非常に役立ちますが、そこには一部の部分が見つかります。クライアントサイドのOAuth 2ライブラリを実装したばかりのように、私はあなたが正しいトラック上にあることを確認することができます。しかし、ここにキャッチ:

oauth_tokenは、アプリケーションを認証するクライアントアプリケーション(すなわち、IDのように)を認証するクライアントアプリケーション(すなわちデスクトップのFacebookリーダー)に属しています。これを送信して、アプリケーションに固有のaccess_tokenを取得し、ログインし、ユーザーに関連する制限付きリソースにアクセスできます。

これは基本的なデスクトップアプリ認証プロセスです( http://developers.gigya。 COM / 020_Developer_guide / 85_rest / oauth2

REST OAUTH 2.0

実際には、タイムラインを備えたフローDigram(上から下へ、次のものから撮影され、http://www.ibm.com/developerworks/web/library/wa-oauthsupport/?ca=drs- "Rel="noreferrer"> http://www.ibm.com/developerworks/web/library/wa-oauthsupport/?ca=drs-

プロトコルフロー

と最後に完全な手順は次のとおりです。( http://h2anetwork.org/projectdocs/ DPI / DPI_Framework.html

OAuthプロトコルフロー

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top