delphi Firestore重新验证用户身份

7xllpg7q  于 2022-11-04  发布在  其他
关注(0)|答案(2)|浏览(115)

我使用 Delphi 10.4.2和FB 4D做一个移动的应用程序。
用户第一次打开应用程序时,他创建了一个帐户(邮件/密码)。
然后,他可以调用Firebase以获取他是所有者的文档(设置Firestore规则)。
用户可以关闭应用程序。
当他打开它的时候,我不想问他密码,我也不想把密码存储在一个配置文件中让他登录。
我更喜欢存储令牌,然后在令牌过期时请求刷新。
当一个用户登录时,我可以这样刷新令牌:

if fAuth.NeedTokenRefresh then
   fAuth.RefreshToken(OnTokenRefresh, onUserError);

问题是第二次打开应用程序时,FAuth没有初始化。除非我存储mail / pwd和登录用户,否则我不想这样做。
这有可能吗?

swvgeqrz

swvgeqrz1#

如果有人有同样的问题,你可以登录一个用户与最后刷新令牌你得到:

FraSelfRegistration.Initialize(FConfig.Auth, OnUserLogin, 'last_token');

您需要添加uses FB4D.SelfRegistrationFra和init FConfig,如下所示:

FConfig := TFirebaseConfiguration.Create(ApiKey, ProjectID, '', FirebaseURL);

因此您可以登录用户而无需存储任何密码

ttp71kqs

ttp71kqs2#

永远 不要 在 你 的 应用 程序 中 保存 用户 的 电子 邮件 和 密码 ! 我 在 演示 应用 程序 中 这样 做 只是 为了 加快 学习 firebase/FB4D 的 第 一 步 。
相反 , 请 将 RefreshToken 保存 为 在 自 注册 框架 中 实现 的 状态 。
FB4D 取得 了 巨大 成功 !

相关问题