如何在不使用 Flask 的情况下使用 Pyrebase 库保持用户登录?

问题描述 投票:0回答:1

好吧,在有人说这是来自here的重复问题之前,我必须说这不是,因为我使用的是不同的库,而且这个问题根本没有答案。这个问题也有很多答案,但它们都是特定于 Flask 的,而我正在使用 Kivy 做我的应用程序。

我使用的库是 Pyrebase,这里是它的 Github

所以,我的问题是:即使应用程序已经关闭并重新启动,如何使用 Pyrebase 而不使用 Flask 保持用户登录?当然,我可以将电子邮件和密码保存在设备中的文件中,但这一点也不安全。

这是我用来注册和登录的代码:

import pyrebase

firebase = pyrebase.initialize_app({
  "apiKey": "AIzaSyDfuewRkxp1q6UA-i119qAIa7OWMjonJuc",
  "authDomain": "grade-blue-05.firebaseapp.com",
  "projectId": "grade-blue-05",
  "storageBucket": "grade-blue-05.appspot.com",
  "messagingSenderId": "314137768223",
  "appId": "1:314137768223:web:ded273736f5318c3f7002a",
  "databaseURL": "https://grade-blue-05-default-rtdb.firebaseio.com/"
})

auth = firebase.auth()

class email:
    def sign_up(login, password):
        userauth = auth.create_user_with_email_and_password(login, password)
        print('Ok')
        return userauth

    def sign_in(login, password):
        userauth = auth.sign_in_with_email_and_password(login, password)
        print('Ok')
        return userauth
python python-3.x firebase firebase-authentication pyrebase
1个回答
0
投票

Firebase 前端 SDK 将从登录方法返回的 JWT/ID 令牌存储在依赖于平台的本地存储中,然后在用户重新启动应用程序/重新加载页面时从那里恢复它。

如果您希望用户拥有相同的体验,您将必须自己实现该持久层。用于前端 JavaScript 的 Firebase SDK 有一个已记录的持久层,但我认为 Pyrebase 没有 - 所以你必须自己弄清楚。

© www.soinside.com 2019 - 2024. All rights reserved.