-1

私たちのアプリは、電話アプリ (ios + droid) と php API の 2 層です。

ユーザーは、独自のユーザー名/パスワード システムを介してログインするか、Facebook を介してログインできます。

Facebook経由でログインすると、ネイティブのfb sdkが使用されます。これはうまくいきます。

ただし、API にアクセスするには、oauth トークンを登録する必要があります。これは通常、ログインによって発生します。しかし、アプリの fb を介してログインが促進されているため、API はこの認証プロセスについて何も知りません。

Facebook から API に識別子を渡す方法が必要です。API に識別子を検証させてから、アプリが API との通信に使用するトークンを作成します。

私の最初の推測は、Facebook の再認証メカニズムを使用することでした: https://developers.facebook.com/docs/facebook-login/reauthentication/

ただし、これらの例はすべて JavaScript SDK を使用しています。私は彼らのPHP SDKのコンテキストでこれに関するドキュメントを見つけることができません.

これは可能ですか?または、ここで間違った方向に進んでいますか???

4

1 に答える 1

0

だから、私は解決策を見つけたと思います。

モバイル アプリがログインし、Facebook から「コード」が与えられます。アプリはコードを API に渡し、API 呼び出し: Facebook SDK メソッド: getAccessTokenFromCode(保護されたものから公開に変更する必要がありました)。ユーザーがログインしていない場合はエラーが返され、ログインしている場合はトークンと有効期限の日時が返されます。トークンの応答が得られた場合は、データベースにトークンを追加し、API を通常どおり動作させます。これが誰かに役立つことを願っています...

$fb = new Facebook(array(
  'appId'  => 'xxxx',
  'secret' => 'xxxxxxxxxx'
));
$token = $fb->getAccessTokenFromCode(
    $args['fb_code'],
    'http://mydomain.com/'
);
于 2013-09-11T21:14:13.297 に答える