2

我有一个 ember-cli 应用程序,它使用 ember-simple-auth 和 torii 对 fb 进行身份验证。该过程完成后,我最终得到了一个身份验证码。

我还有一个用 Node / Sails / Waterlock 构建的 API

我以为我可以使用 Waterlock facebook auth 将此代码推送到

http://my-node-app.com:1337/auth/facebook_oauth2?code= {{some-code}}

这将允许它与 FB 握手、获取我的个人资料信息、创建我的用户并让我登录。

我认为如果我已经通过 API 注册,并且它确实在 API 上登录了我,除了没有用户数据,没有 fb id 什么都没有。

使用有效代码调用上述 URL 的响应是:

{
  auth: {
    facebookId: null,
    name: null,
    createdAt: "2015-01-10T15:05:44.417Z",
    updatedAt: "2015-01-10T15:05:44.459Z",
    id: 10,
    user: 10
  },
  createdAt: "2015-01-10T15:05:44.447Z",
  updatedAt: "2015-01-10T15:05:44.447Z",
  id: 10
}

这是 /users 的结果

{
  users: [
  {
    attempts: [
      12
    ],
    jsonWebTokens: [ ],
    auth: 10,
    createdAt: "2015-01-10T15:05:44.447Z",
    updatedAt: "2015-01-10T15:05:44.447Z",
    id: 10
  }
]
}

我应该能够做到这一点吗?还是我需要在 api/auth/login?type=facebook url 上明确注册用户?

[更新]

看看这里的代码https://github.com/waterlock/waterlock-facebook-auth/blob/master/lib/controllers/actions/oauth2.js看起来我是对的......

动作中的第一个调用是:

fb.confirmIdentity(req.query.code, accessTokenResponse);

accessTokenResponse它内部调用fb.getMe(userInfoResponse);userInfoResponse 它调用主水锁框架 engine.js 来存储用户...

所以从我的挖掘来看,这应该可以工作......我不知道它在哪里掉下来。

4

1 回答 1

1

这按预期工作,只是水锁没有返回传递给它的 fb 错误()。我创建了一个拉取请求,以便更容易调试这些类型的问题。

https://github.com/waterlock/waterlock-facebook-auth/pull/3

于 2015-01-12T08:13:20.853 回答