当某人想要通过 Facebook 注册时,我试图获取该人的名字和姓氏,但想知道是否存在一些安全问题。
基于来自 Firebase 的文档 https://firebase.google.com/docs/auth/web/facebook-login, the 来自堆栈溢出的答案 https://stackoverflow.com/a/37642634/8089406,以及Facebook网站的参数说明 https://developers.facebook.com/docs/javascript/reference/FB.api,我写了以下代码:
firebase.auth().getRedirectResult().then(function(result) {
var token = result.credential.accessToken;
FB.api('/me', {fields: 'last_name', access_token: token}, function(response) {
console.log(response);
})
})
我主要担心的是,根据 Facebook 的说法:
值得注意的一个参数是 access_token,您可以使用该参数通过页面访问令牌进行 API 调用。应用程序访问令牌不应在此 SDK 中使用,因为它是客户端,并且您的应用程序秘密将被暴露。"
看起来我无法使用这种方法来获取用户的名字和姓氏。
从 Firebase 4.0.0 开始,额外的 IdP 数据将直接在 UserCredential 类型的结果中返回。您不需要对 Facebook 进行额外的 API 调用来获取名字/姓氏等数据:
firebase.auth().getRedirectResult().then(function(result) {
if (result.user) {
// Additional user info like first name, last name,
// Facebook account url, gender, etc.
console.log(result.additionalUserInfo.profile);
// Facebook access token returned in the process
// for the scopes requested.
console.log(result.credential.accessToken);
}
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)