当这个人想通过Facebook注册时,我试图找到一个人的名字和姓氏,但想知道是否存在安全问题。
根据document from Firebase,answer from Stack Overflow和explanation about parameters from Facebook website,我写了以下代码:
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中使用应用访问令牌,因为它是客户端的,并且您的应用秘密会被曝光。"
看起来我不能用这种方法来获取用户的名字和姓氏。
答案 0 :(得分:2)
从Firebase 4.0.0开始,将在UserCredential类型的结果中直接返回其他IdP数据。您不应该向Facebook进行额外的API调用以获取姓/名等数据:
<http auto-config="true">
<intercept-url pattern="/home**" access="hasAnyRole('ROLE_ADMIN','ROLE_USER')" />
<form-login
login-page="/login"
default-target-url="/home"
login-processing-url="/j_spring_security_check"
authentication-failure-url="/login?error"
username-parameter="username"
password-parameter="password" />
<logout logout-success-url="/login?logout" />
<csrf />
</http>
});