【发布时间】:2026-01-05 05:45:01
【问题描述】:
我正在创建一个 Android 应用程序,我只想使用 Firebase 进行身份验证,其余部分使用我自己的后端。
我一直在关注Firebase documentation,在那里我发现了如何检索 jwt 令牌。我设法通过 POST 方法将令牌发送到我的 rest api 并使用 php JWT Firebase 库在那里验证它,现在我有点卡住了。
何时是检索令牌的正确时间? 我:
- 在应用程序启动时检索令牌(或注册/登录等),将其存储在变量中,这样我就不必再次检索它,然后将令牌与每个 http 请求一起发送以授权用户。
- 检索一次令牌并将其存储在 SharedPreferences 中。
- 在每次 http 请求之前,我都会检索令牌,以便它是新鲜的并且我可以确定它是有效的。
- 仅在应用启动时验证令牌,如果有效,则从客户端的令牌中提取用户 ID,将其存储在变量中,并在未来的 http 请求中使用该 ID 来了解发出请求的用户。
我最感兴趣的是使用第三个选项,但是用于检索令牌的代码很长,我可以想象我的代码会很快变得混乱。第四个选项对我来说在纸面上听起来很棒,但我觉得这在安全性方面真的很糟糕。
我害怕使用第一个和第二个选项,因为令牌过期时间。我可以在后端发现令牌无效,但是我必须通知客户端它无效,生成新令牌然后再次发出请求,这对我来说似乎很复杂。
我应该遵循一些常见的做法吗?我的一个例子至少是对的还是我完全错了?
在我的新工作中,我是这个发展领域的新手,找不到太多关于在这种情况下我应该如何进行的信息。我将非常感谢任何答案!
【问题讨论】:
标签: android firebase firebase-authentication jwt firebase-admin