【问题标题】:facebook php re-authentication : app to serverfacebook php重新身份验证:应用程序到服务器
【发布时间】:2013-09-15 19:33:43
【问题描述】:

我们的应用是 2 层,手机应用 (ios + droid) 和我们的 php api。

用户可以通过我们自己的用户名/密码系统登录或通过 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 的上下文中找不到任何文档。

这可能吗?还是我走错了方向???

【问题讨论】:

    标签: php facebook facebook-graph-api facebook-php-sdk


    【解决方案1】:

    所以,我想我找到了解决办法。

    移动应用程序登录并从 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-06-28
      • 2012-11-23
      • 1970-01-01
      • 2012-11-01
      • 1970-01-01
      • 2019-07-23
      • 2017-06-05
      • 2019-01-29
      相关资源
      最近更新 更多