web-dev-qa-db-ja.com

クライアントはどのようにしてFacebookアクセストークンをサーバーに渡す必要がありますか?

REST APIへのすべての呼び出しで、クライアントを要求して、ユーザーを認証するユーザーのFacebookアクセストークンを渡す。このトークンを渡すためのベストプラクティスは何ですか?

  1. hTTP疑問符の背後にあるパラメータとして

    GET /api/users/123/profile?access_token=pq8pgHWX95bLZCML
    
  2. または、HTTP基本認証と同様に、リクエストのヘッダーに何らかの形で

  3. 3番目のオプションですか? (トークンをGET呼び出しでも渡す必要があるため、JSONで渡すことを除外しました。JSONはそこに収まらないと思います)
31
zafeiris.m

すべての一般的なOAuthプロバイダー(Google、Facebook、Pocket、Gitなど)によって提供されるAPIエンドポイントを見ると、それらはすべてHTTPSエンドポイントを持っていることがわかります。

アクセストークンをプロバイダに渡す方法は次のとおりです-

i)As Query Parameter-

https://yourwebsite.com/api/endpoint?access_token=YOUR_ACCESS_TOKEN

ii)リクエストヘッダー内-

 GET /api/users/123/profile HTTP/1.1
 Host: yourwebsite.com
 Date: Tue, 14 May 2013 12:00:00 GMT
 Authorization: <YOUR_ACCESS_TOKEN>

これら2つは、ほとんどのAPIで一般的にサポートされているアプローチです。同じことを考えることができます。

iii)Pocket APIはGETをまったく使用しません。データを取得する場合でも、すべてのリクエストに対してPOSTを使用します。ドキュメントを参照するには、この link を確認してください。POST =データを取得し、JSONパラメーターを渡すため。

40
divyanshm