-1

我们的应用程序是 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 的上下文中找不到任何文档。

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

4

1 回答 1

0

所以,我想我找到了解决方案。

移动应用程序登录并从 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-09-11T21:14:13.297 回答