【发布时间】:2017-06-14 01:23:08
【问题描述】:
在 Firebase 中使用 Facebook 登录时,我得到的用户 ID 与一般 Facebook 用户 ID 不同(仅限数字)。 Firebase 生成了一个完全应用唯一的 ID,这使我无法找到个人资料照片的网址。
通过 Firebase 身份验证传递的 profileImageURL 已过期,由于这些 URL 可能过期,我无法将此类信息保存到 Firebase 数据库以供其他用户访问。假设某个用户有一段时间没有重新验证他/她自己,使这个 profileImageURL 过期,除非用户再次登录,否则其他用户无法看到个人资料照片。如果用户多年不活动怎么办?有没有其他方法可以获取个人资料照片?
【问题讨论】:
-
一旦用户通过身份验证,当前用户将通过 (Swift) let user = FIRAuth.auth()?.currentUser 检索。一旦有了 user 变量,您就可以访问他们的电子邮件(让 email = user?.email)和他们的 photoURL(让 photoURL = user?.photoURL)。你能澄清一下问题是什么吗?
-
@Jay - 就像我说的,当我访问 user?.photoURL 时,链接已过期。有人说再次登录后它应该刷新,但事实并非如此。但是,即使它可以工作,用户在登录后检索到的最新链接最终也会过期。这意味着,如果该用户处于非活动状态(长期),其他用户将无法访问有效的 profileURL,因为该用户尚未刷新链接。
-
也许其中一个 Firebaser 可以纠正我,但 url 就是 url。它不会过期,因为它与创建的 Firebase uid 相关联。这就是允许用户向任意数量的提供商进行身份验证并保持用户个人资料数据保持不变的原因。
-
@Jay - 我实际上找到了解决方案。我将其发布为该问题的正确答案。感谢您的帮助!
-
好!它直接与我的评论相关联它与创建的 Firebase uid 相关联
标签: firebase firebase-authentication