我有一个 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 来存储用户...
所以从我的挖掘来看,这应该可以工作......我不知道它在哪里掉下来。