2012-10-20 26 views
1

我有一个用户通过Facebook登录到的Android应用程序。我正在尝试访问我的symfony api而无需另行登录。是否有可能登录到symfony只有从Android应用程序获得的访问令牌?从Android设备登录到symfony

回答

1

好吧,只是我设法做的一个总结。

我试图修改fosFacebookBundle来接受access_tokens,但是在一天结束的时候我不得不从头开始按照我从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); 

感谢您的联系!