我有一个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中,它调用主waterlock框架engine.js以存储用户...

因此从我的挖掘中应该可以...我不知道它在哪里掉下来。

最佳答案

它按预期工作,只是水锁未返回传递给它的fb错误()。我创建了一个请求请求,以便更轻松地调试此类问题。

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

关于node.js - waterlock fb auth-使用authcode注册,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27877641/

10-09 17:01