我有一个ember-cli应用程序,使用ember-simple-auth和torii对fb进行身份验证。当过程结束时,我最终得到一个authcode。
我还有一个使用Node / Sails / Waterlock构建的API
我以为我可以使用Waterlock facebook auth将此代码推送到
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?
上明确注册用户[UPDATE]
查看此处的代码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来存储用户......
因此,从我的挖掘中,这应该有效......我不知道它在哪里掉下来。
答案 0 :(得分:1)
这正如预期的那样,只是水锁没有返回传递给它的fb错误()。我创建了一个pull请求,因此调试这些问题更容易。