2017-01-24 1 views
0

クライアントがFacebookのユーザーID(例:myapi/get_user/123)を提供する安らかなAPIを開発しており、APIは名前、誕生日などのユーザーの公開情報を取得する必要があります。完了しました。カスタムAPIでFBアクセストークンを処理するベストプラクティス

現在のコード

$fb = new Facebook\Facebook([ 
     'app_id' => $fbSettings['app_id'], 
     'app_secret' => $fbSettings['app_secret'], 
     'default_graph_version' => $fbSettings['default_graph_version'] 
]); 

$token = 'EAAD...'; 

try { 
    // Returns a `Facebook\FacebookResponse` object 
    $fbResponse = $fb->get('/' . $request->getAttribute('id') . '?fields=link, name, birthday', $token); 
} catch(Facebook\Exceptions\FacebookResponseException $e) { 
    return $response->withStatus(500)->withJson(['msg' => $e->getMessage()]); 
    exit; 
} 

$user = $fbResponse->getGraphUser(); 
return $response->withJson($user); 

私の問題は、それは、私がアクセストークンを処理するための最良の方法であるかわからないということです。トークンはクライアントによって提供されるべきですか?その場合は、同じリクエスト(例:myapi/get_user/123?token=ABC123)でparamとして渡すか、別のAPI呼び出し(myapi/register_token/ABC123としましょう)を使用してステートレスにする必要があります。

私はアクセストークンを処理するための最良の方法(またはベストプラクティス)を探しています。

答えて

1

アクセストークンを渡すための最良の方法は、認証要求のヘッダーにある:

GET myapi/get_user/123 HTTP/1.1 
Host: mysite.com 
Authorization: <YOUR_ACCESS_TOKEN> 
+0

は、クライアントが必要としないという点で方法は私のAPIの使用を簡素化するために、Facebookのアクセストークンを提供していますか? –

関連する問題