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