如何禁用 Unity firebase auth 的自动持久化用户凭据?

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

我的项目是一个用firebase unity构建的移动项目。我注意到即使我删除应用程序,然后从应用商店重新下载它,它也会保留我的登录信息。

这里说 https://firebase.google.com/docs/auth/unity/manage-users#persist_a_users_credential 用户的凭据保存在本地密钥库中但是有没有办法清除它/当我不保存它时删除应用程序?

似乎禁用firebase Auth State Persistence有一个javascript配置

setPersistence
但我找不到统一的C#库。

c# ios unity3d firebase-authentication
1个回答
0
投票

默认情况下,Firebase 身份验证将用户凭据本地存储在设备上以提供更好的用户体验,例如允许用户在应用重启后保持身份验证。此功能称为“持久用户身份验证状态”。

如果想在删除应用时禁用此功能并清除用户的凭据,可以在用户注销或删除应用时调用

FirebaseAuth.DefaultInstance.SignOut()
方法。此方法注销当前用户并清除持久的身份验证状态。

遗憾的是,Firebase Unity SDK 目前没有内置方法来禁用身份验证状态持久化。但是,你可以尝试使用

auth.SetPersistence()
方法在应用程序启动时将持久化状态设置为“NONE”。

Firebase.Auth.FirebaseAuth auth = Firebase.Auth.FirebaseAuth.DefaultInstance;
auth.SetPersistence(Firebase.Auth.FirebaseAuth.Persistence.NONE);

这应该可以防止 Firebase 身份验证在应用程序重新启动时保留用户的身份验证状态。请记住,这种方法将要求用户在每次打开应用程序时都登录,这可能会导致用户体验不太理想。

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