Firebase Web身份验证 - 服务器端如何?

时间:2017-12-28 14:25:24

标签: javascript firebase web firebase-authentication

我想使用Firebase和Firebase用户界面对用户进行身份验证。我刚开始用它。 我正在考虑使用它作为所有教程的建议,这是在承诺中检查有效用户,为开发人员提供获取该用户的电子邮件,uid和提供者的方式(也许是图片)。

但后来我想,我的服务器端呢?不能有人只是复制以前登录的用户的电子邮件,并使用devtools只是填写他们认为合适的字段,然后才开始使用网络应用程序?

我的服务器是否有办法在底层查询Firebase,以确保用户仍然可以登录?

那个accessToken可能对此有用吗?是否有可以帮助联系Firebase服务器的库?

{"displayName”:”someone”
"email”:”some@one.com",
"emailVerified":false,
"phoneNumber":null,
"photoURL":"https://scontent.xx.fbcdn.net/v/t1.0-1/p100x100/535143_101537414228324dd23_7957838239360_n.jpg?,
"uid":"6yC3n39SsnOeFNZ6pJ0Yaw1vF2e3",
"accessToken”:”hjeher38738743j4k34.....", // <-- IMMEDIATE SUSPECT
"providerData":[
{
"uid":"987239872349872",
"displayName":"Some User",
"photoURL":"https://scontent.xx.fbcdn.net/v/t1.0-1/p100x100/83487843_3453453453453$%_32487234.jpg",
"email":"some@mail.com",
"phoneNumber":null,
"providerId":"facebook.com"
}
]

1 个答案:

答案 0 :(得分:1)

Firebase ID令牌是所谓的承载令牌,假定具有令牌的任何一方具有与该令牌相关联的权限。由于这是相当强大的,这些令牌会自动过期(大约一个小时后),并且需要在此时刷新。

在服务器上,您可以decode the token and verify that it is valid。完成后,通过根据实际时间检查其exp属性来验证令牌是否已过期。