【问题标题】:How to properly implement user authentication and authorization (FirebaseAuth with NodeJS backend)如何正确实现用户身份验证和授权(带有 NodeJS 后端的 FirebaseAuth)
【发布时间】:2019-09-13 23:29:34
【问题描述】:

我正在使用 Firebase 身份验证创建一个应用,但我对身份验证和授权还是很陌生。我已经做的是在前端实现firebase身份验证,当用户注册成功时,它将向后端请求并验证其idToken firebase admin。验证后,用户的数据将与验证idToken时返回的uid一起存储在数据库中。

一切正常,但我对身份验证的最佳做法不清楚,我是否走在正确的轨道上?根据我的阅读,经过身份验证的客户端还应该在标头中传递一个令牌。

我应该将uid 返回给客户端并在标头中使用它吗?如果是这样,后端是否应该使用它来检查每个客户端请求的数据库中是否有匹配的令牌?

我对登录流程标准真的很迷茫,非常感谢任何答案。谢谢。

【问题讨论】:

    标签: firebase authentication oauth-2.0 firebase-authentication jwt


    【解决方案1】:

    好的,首先要了解的是 Firebase 在客户端范式上运行,这意味着您实际上不需要并且应该仔细考虑是否需要在服务器端进行 Firebase 操作。原则上,您可以在 Web 浏览器上使用 javascript 进行所有操作。或安卓应用。或 iOS 应用。

    如果您确实决定将某些功能移动到服务器端,那么下一个最佳解决方案是将它们也作为托管云功能在 Firebase 中进行。见:

    Callable cloud functions

    如果由于某种原因您需要部署和托管自己的代码,那么您可以继续原样进行,执行客户端身份验证,传递令牌,使用节点管理员解码令牌,并根据需要手动检查用户权限。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-10-02
      • 1970-01-01
      • 2015-12-24
      • 2013-07-25
      • 2013-10-02
      • 1970-01-01
      • 2022-12-11
      • 2011-05-28
      相关资源
      最近更新 更多