我应该在哪里实现firebase身份验证



我正在观看本教程,该教程使用云函数中的firebase客户端库对用户进行身份验证。我开始怀疑这是否是正确的做法。我应该改为在react应用程序中进行所有身份验证吗?本教程解释说,在服务器端做所有事情的好处是,它减少了用户运行应用程序所需下载的东西的数量。

话虽如此,我很难让客户端库使用typescript,这让我只想废弃它。我应该如何处理?

如果不是为了性能,肯定是出于安全原因,那么在后端托管身份验证(尤其是身份验证逻辑(通常是更好的做法。

也就是说,您可以避免使用云功能进行firebase的身份验证!以下是Fireship提供的另一个超级简单的视频教程:https://www.youtube.com/watch?v=zQyrwxMPm88.谷歌Firebase YouTube频道也有许多关于这个主题的视频。

当您希望在登录期间或登录后在后端中执行并行操作时,云函数非常有用,而useAuthState((react hook非常适合在登录期间和登录后在前端执行并行操作。

所以我认为在Firebase上解决这个问题的最佳方法是:

A( 使用客户端的Auth Firebase SDK创建用户并登录用户,B( 使用Auth REST API 执行此操作

最终的结果是一样的,你让你的用户进入Firebase,你可以让他们登录并获得他们的身份验证令牌。SDK在客户端上运行,REST API在服务器上运行。完成后,您可以使用用户令牌并将其传递给云函数,以执行所需操作,并检查令牌的有效性和权限服务器端。

在云功能上,您应该使用Admin SDK,而不是客户端SDK。管理员SDK拥有所有权限。更具体的原因是,你不应该在云功能上使用客户端SDK,因为它保持状态。因此,两个用户使用客户端sdk服务器端调用您的云函数,会产生相同的用户令牌,这是一个错误。

我希望我已经解决了你的问题?

最新更新