Firebase 身份验证:uid 与 getToken(再次...)
Firebase authentication: uid vs. getToken (again...)
参考文档并遵循,但是:
如果我得到用户的 uid 因为 Firebase 在身份验证后将其交给我,这是否足以证明该特定用户实际上已在我的网站上进行了身份验证?
this.afAuth.auth.onAuthStateChanged((user) => {
if (user) {
// safe to use the user.uid to populate my users collection
} else {
// user.uid is logged out now
}
});
这样我就可以在我的用户 table 中添加其他信息:
myUsersCollection/[uid]/the_other_things:"some stuff here"
post Why can't we use getUid() to authenticate with your backend server in firebase authentication 似乎没有为我解决这个问题?
有人可以通过欺骗 onAuthStateChanged 事件来愚弄我吗?如果我确实从其他来源获得了 uid,那么我当然不能确定。但只要我正确使用状态更改并信任 Firebase 身份验证,getToken() 如何帮助证明身份验证?
此外,getToken() 是否真的贬值了,即使它仍在 docs?
提前感谢您的见解!
Firebase 使用 OAuth2,这是一种开放标准的授权协议,可为应用程序提供安全访问的能力。 OAuth 使用授权令牌来证明消费者和服务提供者之间的身份。
Firebase UID 不是私有的,不保证用户的身份。当 onAuthStateChanged
returns 是 Firebase 用户时,您知道该用户已在为会话寿命设置的限制内获得授权。虽然不太可能,但会话状态可能会受到损害。这就是为什么对安全敏感的操作需要重新验证以及 ID 令牌的生命周期很短(通常为一小时)的原因。
参考文档并遵循,但是:
如果我得到用户的 uid 因为 Firebase 在身份验证后将其交给我,这是否足以证明该特定用户实际上已在我的网站上进行了身份验证?
this.afAuth.auth.onAuthStateChanged((user) => {
if (user) {
// safe to use the user.uid to populate my users collection
} else {
// user.uid is logged out now
}
});
这样我就可以在我的用户 table 中添加其他信息:
myUsersCollection/[uid]/the_other_things:"some stuff here"
post Why can't we use getUid() to authenticate with your backend server in firebase authentication 似乎没有为我解决这个问题?
有人可以通过欺骗 onAuthStateChanged 事件来愚弄我吗?如果我确实从其他来源获得了 uid,那么我当然不能确定。但只要我正确使用状态更改并信任 Firebase 身份验证,getToken() 如何帮助证明身份验证?
此外,getToken() 是否真的贬值了,即使它仍在 docs?
提前感谢您的见解!
Firebase 使用 OAuth2,这是一种开放标准的授权协议,可为应用程序提供安全访问的能力。 OAuth 使用授权令牌来证明消费者和服务提供者之间的身份。
Firebase UID 不是私有的,不保证用户的身份。当 onAuthStateChanged
returns 是 Firebase 用户时,您知道该用户已在为会话寿命设置的限制内获得授权。虽然不太可能,但会话状态可能会受到损害。这就是为什么对安全敏感的操作需要重新验证以及 ID 令牌的生命周期很短(通常为一小时)的原因。