我一直在将fb AccounKit与我的离子应用程序(NodeJS服务器)集成。前端部分已经完成,我可以发送和接收OTP和成功状态。
但是从授权代码中获取客户端令牌时,我一直得到""错误验证令牌中的令牌?''''错误。我遵循他们的官方文档中提到的相同程序。
这是我的代码:
var me_endpoint_base_url = 'https://graph.accountkit.com/v1.0/me';
token_exchange_base_url='https://graph.accountkit.com/v1.0/access_token';
var params = {
grant_type: 'authorization_code',
code: request.body.code,
access_token: app_access_token
};
}
// exchange tokens
console.log(Querystring.stringify(params))
var token_exchange_url = token_exchange_base_url + '?' + Querystring.stringify(params);
Request.get({url: token_exchange_url, json: true}, function(err, resp, respBody) {
console.log(respBody);
var view = {
user_access_token: respBody.access_token,
expires_at: respBody.expires_at,
user_id: respBody.id,
};
var me_endpoint_url = me_endpoint_base_url + '?access_token=' + respBody.access_token;
Request.get({url: me_endpoint_url, json:true }, function(err, resp, respBody) {
console.log(respBody);
if (respBody.phone) {
view.method = "SMS"
view.identity = respBody.phone;
} else if (respBody.email) {
view.method = "Email"
view.identity = respBody.email.address;
}
});
});
请帮帮忙?
答案 0 :(得分:2)
当进行服务器到服务器的呼叫以交换令牌的代码时,您需要在您发送的访问令牌中提供您的Account Kit App Secret。 因此访问令牌应如下所示:
'AA|{app_id}|{app_secret}'
对于前。
var app_access_token = ['AA', app_id, app_secret].join('|');
您可以从帐户套件信息中心找到您的应用密码。在apps.facebook.com上的应用产品部分的“帐户套件”页面上,点击“帐户工具包应用秘密”框旁边的“显示”按钮,查看您的应用程序密码。
另外请记住,您应该从不在客户端运行的任何javascript代码中包含您的应用秘密。这个秘密只能从你的服务器端node.js代码中使用,其他任何人都不应该看到它