Firestore 重新验证用户
Firestore reauthenticate user
我正在使用 Delphi 10.4.2 和 FB4D 开发移动应用程序。
用户第一次打开应用程序时,他创建了一个帐户(邮箱/密码)。
然后他可以调用 Firebase 获取他是所有者的文档(设置 Firestore 规则)。
用户可以关闭应用。
当他打开它时,我不想问他密码,也不想将密码存储在配置文件中以登录他。
我比较喜欢先存一个token,过期了再请求刷新
当用户登录时,我可以像这样刷新令牌:
if fAuth.NeedTokenRefresh then
fAuth.RefreshToken(OnTokenRefresh, onUserError);
问题是他第二次打开应用程序时,FAuth
没有初始化。除非我存储邮件/密码和登录用户,否则我不想做的事情。
可能吗?
如果有人有同样的问题,您可以使用您获得的最后一个刷新令牌登录用户:
FraSelfRegistration.Initialize(FConfig.Auth, OnUserLogin, 'last_token');
您需要像这样添加 uses FB4D.SelfRegistrationFra
和 init FConfig
:
FConfig := TFirebaseConfiguration.Create(ApiKey, ProjectID, '', FirebaseURL);
因此您可以在不存储任何密码的情况下登录用户
我正在使用 Delphi 10.4.2 和 FB4D 开发移动应用程序。
用户第一次打开应用程序时,他创建了一个帐户(邮箱/密码)。
然后他可以调用 Firebase 获取他是所有者的文档(设置 Firestore 规则)。
用户可以关闭应用。
当他打开它时,我不想问他密码,也不想将密码存储在配置文件中以登录他。
我比较喜欢先存一个token,过期了再请求刷新
当用户登录时,我可以像这样刷新令牌:
if fAuth.NeedTokenRefresh then
fAuth.RefreshToken(OnTokenRefresh, onUserError);
问题是他第二次打开应用程序时,FAuth
没有初始化。除非我存储邮件/密码和登录用户,否则我不想做的事情。
可能吗?
如果有人有同样的问题,您可以使用您获得的最后一个刷新令牌登录用户:
FraSelfRegistration.Initialize(FConfig.Auth, OnUserLogin, 'last_token');
您需要像这样添加 uses FB4D.SelfRegistrationFra
和 init FConfig
:
FConfig := TFirebaseConfiguration.Create(ApiKey, ProjectID, '', FirebaseURL);
因此您可以在不存储任何密码的情况下登录用户