记住 Firebase Unity 游戏中的身份验证
Posted
技术标签:
【中文标题】记住 Firebase Unity 游戏中的身份验证【英文标题】:Remember authentication in Firebase Unity Games 【发布时间】:2016-12-06 14:31:00 【问题描述】:我正在为我的游戏中的在线数据使用新的官方 firebase unity(测试版)包。每当我在 ios 中杀死应用程序时,我都必须再次输入我的登录凭据。我不想在 PlayerPrefs 中保存电子邮件和密码,因为这似乎完全不安全。是否(已经)有一种方法可以保持登录状态,以便用户在下载应用程序后只需登录一次,之后再也不需要登录?
感谢您的帮助, 亚历克斯
【问题讨论】:
【参考方案1】:如果应用程序终止,则没有内置方法可以保持用户会话。您可以为此创建 Firebase 用户令牌。但是,您不能通过 Unity SDK 创建这些令牌。您将需要运行 Admin SDK (https://firebase.google.com/docs/auth/admin/create-custom-tokens),使用它生成它们并将它们发送到客户端。 SDK 中的 TokenAsync 函数只生成一个 ID 令牌。不是访问令牌。
几天前我基于此实现了一个解决方案,结果发现 Admin SDK 生成的自定义令牌的过期时间限制为 3600 秒(1 小时)。这很短,最终它并没有真正帮助我自动登录用户,如果他们遇到崩溃或只是终止了应用程序。
您可以改为使用持续时间更长的 Facebook/Google 令牌。 Facebook Unity-sdk 非常易于使用,您可以直接从中获取访问令牌,您可以使用该令牌通过 Firebase Unity-sdk 进行身份验证。我还没有尝试过 Google 登录解决方案,所以我无法对此发表评论。
编辑: 请不要在本地存储电子邮件/密码。这不是要走的路。
【讨论】:
以上是关于记住 Firebase Unity 游戏中的身份验证的主要内容,如果未能解决你的问题,请参考以下文章
添加 Firebase Unity 后,Google Play 游戏停止正常工作
Unity 中的 Google Firebase 身份验证:如何读取错误代码