【问题标题】:Android Firebase - storing data without authenticationAndroid Firebase - 无需身份验证即可存储数据
【发布时间】:2017-05-07 06:39:09
【问题描述】:

我正在使用 Firebase 制作一个示例笔记应用程序,用户可以在其中登录并创建简单的文本笔记。 我的 Firebase 数据结构如下:

"Project-dir":{
    "Notes":{
        "UserID":{
            "NoteKey":{
                "title":"This is note title",
                "content":"This is the note content",
                "unixTime":123456789
            },
            "NoteKey":{
                "title":"This is note title",
                "content":"This is the note content",
                "unixTime":123456789
            },
        }
    }
}

它在用户登录时工作正常。 但是,我想添加“不登录继续”功能。我使用 push() 生成了唯一的用户 ID,而不是 auth UID,并存储在 sharedprefs 中。 但是,当他决定稍后登录时,如何将所有这些笔记迁移到用户的 UserID(UID)?

【问题讨论】:

    标签: android firebase firebase-realtime-database firebase-authentication


    【解决方案1】:

    对于这个特定的用例,您需要使用the Anonymous Authentication provider of Firebase Authentication

    它与您现在所做的基本相同(它为当前用户/设备生成一个随机 ID)。不同之处在于您可以稍后通过链接他们的 Facebook/Google/Github/Email 帐户来upgrade the anonymous authentication user to an identified user

    【讨论】:

    • 谢谢!这就是我要找的东西!
    • 好好。你能告诉我什么会让你更容易找到这个,而不必在这里问吗?这个问题是完全正确的,如果我们能以您之前必须询问的点/格式提供信息,我会更喜欢它。
    • 嗯,它就在文档中,但我不认为 Firebase 会内置此功能,因为它可以手动完成(可能?)。
    • 该死。我希望有办法改善这一点。感谢您的反馈!
    • @FrankvanPuffelen - 我不清楚的是:匿名身份验证本质上是临时的吗?一旦会话结束并且身份验证密钥丢失,数据是否会变得不可访问?你会这么认为......很遗憾我不能提供一个预先存在的 GUID(来自其他地方)来使它成为非临时的。用例:Google 上未经身份验证的操作(用户确实始终提供 GUID,但完整的帐户链接很麻烦)
    猜你喜欢
    • 2021-11-18
    • 1970-01-01
    • 2020-07-16
    • 1970-01-01
    • 2021-07-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多