【问题标题】:Using Firebase Auth with Django在 Django 中使用 Firebase 身份验证
【发布时间】:2018-06-22 06:09:16
【问题描述】:

我想为我的 django webapp 使用 firebase 身份验证。为了实现这一点,我认为我需要编写一个自定义身份验证后端 - 对吗?我没有看到任何已经这样做的库 - django-allauth 看起来非常接近作为替代方案,但我对 firebase 提供的电话号码验证感兴趣。

我也对 User 模型和函数(如 request.useruser.is_authenticated)会发生什么感到困惑。现在我使用身份验证和登录功能 - django 如何知道用户通过 firebase 登录?我还会为每个用户创建一个用户模型吗?

谢谢

【问题讨论】:

    标签: django firebase firebase-authentication


    【解决方案1】:

    您可以将 Firebase 身份验证与任何框架一起使用。您不一定需要使用自定义身份验证。通常,您会在客户端上登录用户,通过调用 firebase.auth().currentUser.getIdToken() 获取 ID 令牌,然后将 ID 令牌传递到您的服务器,验证它并使用 Firebase 管理员解析识别用户 ID 和其他声明的有效负载SDK,然后您可以发出会话 cookie,以识别与该 ID 令牌关联的用户。

    在注销时,您将清除该会话 cookie。

    如果您还需要在设置会话 cookie 后将该用户保留在后端,您还可以使用 Firebase Admin SDK 查找由用户 ID 标识的用户,或者仅使用令牌声明在没有任何网络的情况下填充用户称呼。如果需要,您可以将其填充到关联框架的用户模型中。

    有关会话管理的更多信息,您可以参考这个 django 文档:https://docs.djangoproject.com/en/3.0/topics/http/sessions/

    【讨论】:

    猜你喜欢
    • 2018-08-23
    • 2017-07-03
    • 1970-01-01
    • 2021-09-05
    • 2016-09-26
    • 1970-01-01
    • 2020-03-16
    • 2017-03-11
    • 1970-01-01
    相关资源
    最近更新 更多