【问题标题】:GAE3 Python and validating firebase token server side (do we need to call Firebase everytime?)GAE3 Python 和验证 Firebase 令牌服务器端(我们是否需要每次都调用 Firebase?)
【发布时间】:2020-08-18 05:44:56
【问题描述】:

这是我的第一个 GAE 应用程序,如果我的方法有误,请告诉我。我了解 Flask 并且之前使用过 Flask-Login 来满足我的身份验证需求。对于 GAE,他们似乎建议使用 Firebase。我的不是 SPA,但我想使用 Firebase UI 并让它处理所有用户身份验证部分。

查看https://github.com/GoogleCloudPlatform/python-docs-samples/blob/master/appengine/standard_python3/building-an-app/building-an-app-3/static/script.js#L42 此处的示例,我可以使用 Python Admin SDK 验证令牌服务器端。 https://firebase.google.com/docs/auth/admin/verify-id-tokens#python 或更高级的示例 https://firebase.google.com/docs/auth/admin/manage-cookies#python 。我能够做到这一点,但我对稍后的流程有点困惑。

在同一个示例中,他们建议将令牌(或声明的某些部分)存储为安全 cookie。这类似于 Flask Login 也存储 cookie,然后我们在每个请求中验证 cookie - 但由于在后端是本地 REDIS 或任何存储的情况下,验证并不昂贵。但是在使用 Firebase 时,似乎我们必须为每个 api 调用调用 Firebase 来验证令牌。

否则,可能是用户更改了他们的密码或在他们的 Google/Facebook 提供商中重置了某些内容,而我们在我们的服务器上不会知道,直到我们在提供商端验证这些内容。这也妨碍了我们在本地离线开发(或者我们写一些逻辑来专门处理本地开发)。

解决这个问题的最佳方法是什么?

【问题讨论】:

  • 您好,您可以使用 Firebase Admin SDK 来管理用户或管理身份验证令牌,根据official documentation
  • 正确。所以我从阅读管理文档中了解到。我担心的是,对于我们的应用程序或页面加载中的每个 API 调用,我都必须进行一次 firebase 调用,这样可能会变得昂贵。如果这是建议的方式,那么我想我可以这样做。

标签: firebase google-app-engine firebase-authentication


【解决方案1】:

您可以使用 Firebase Admin SDK 来管理用户或管理身份验证令牌,according to the official documentation – marian.vladoi

【讨论】:

    猜你喜欢
    • 2020-05-04
    • 2017-10-30
    • 1970-01-01
    • 2019-10-10
    • 1970-01-01
    • 2022-08-16
    • 2015-02-28
    • 1970-01-01
    • 2016-08-04
    相关资源
    最近更新 更多