1

ユーザーがFacebook経由でログインするAndroidアプリがあります。別の時間にログインせずにsymfonyAPIにアクセスしようとしています。Androidアプリから取得したアクセストークンだけでsymfonyにログインすることはできますか?

4

2 に答える 2

1

わかりましたので、私がなんとかしたことのまとめです。

access_tokens を受け入れるように fosFacebookBundle を変更しようとしましたが、結局、Zalas から取得したリンクに従って、すべてをゼロから行う必要がありました。fosFacebookBundle の FacebookProvider クラスを介して accesstoken からユーザーを取得しました。

Facebook と FacebookProvider を FacebookTokenListener に注入する必要がありました。これが安全かどうかさえ確信が持てません。誰かが別のサイトからのアクセス トークンでログインできる可能性があります (まだテストしていません)。accesstoken もヘッダーの平文です。全体として、あまり良い解決策ではありません。

        $this->facebook->setAccessToken($request->headers->get("access_token"));
        $fbUid = $this->facebook->getUser();
        if(!$fbUid){
            throw new AccessDeniedHttpException("invalid access token");
        }
        $user = $this->facebookProvider->findUserByFbId($fbUid);
        $token = new FacebookTokenToken($user);

リンクをありがとう!

于 2012-10-22T13:33:09.650 に答える