Waterlock FB 身份验证 - 使用身份验证代码注册



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

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

我以为我可以使用Waterlock facebook身份验证将此代码推送到

http://my-node-app.com:1337/auth/facebook_oauth2?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中调用主水锁框架引擎.js以存储用户...

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

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

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

最新更新