从Android设备登录到Symfony



我有一个用户通过Facebook登录的Android应用程序。我正在尝试访问我的Symfony API而不在其他时间登录。是否可以使用我从Android应用中获得的访问令牌登录到Symfony?

是的,这是可能的。您需要实现自定义身份验证提供商和可能的自定义用户提供商,以用令牌对用户进行身份验证(并可能通过令牌检索他)。

好的,只需包装我设法做的事情。

我试图修改fosfacebookBundle以接受Access_tokens,但最终我只需要按照从Zalas获得的链接来完成所有工作。我通过fosfacebookBundle的Facebook -Provider类从访问中获取了用户。

我不得不将Facebook注入Facebook -provider,并将其注入我的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);

感谢您的链接!

相关内容

  • 没有找到相关文章

最新更新