当前位置: 首页 > 知识库问答 >
问题:

如果我们使用自己的身份验证,我们可以为Firebase数据库提供自己的uid吗?

干亮
2023-03-14

我们被要求在我们的应用程序中使用我们自己的身份验证。

Firebase身份验证服务是否可以将用户输入的凭据传递给我们的身份验证服务,以便可以设置Firebase授权uid,并且我们可以使用Firebase数据库规则,例如:

/ These rules grant access to a node matching the authenticated
// user's ID from the Firebase auth token
{
  "rules": {
    "users": {
      "$uid": {
        ".read": "$uid === auth.uid",
        ".write": "$uid === auth.uid"
      }
    }
  }
}

共有1个答案

宦源
2023-03-14

流程与你所假设的不同。如果使用自定义身份验证,则由您控制身份验证流。然后,当您对用户进行了身份验证后,您就可以创建一个令牌并将其传递回应用程序。然后应用程序使用此令牌通过Firebase身份验证进行身份验证。

如果创建自己的令牌,则完全控制用户的uid。事实上,这是唯一真正需要的东西:一个UID来标识用户。

 类似资料:
  • 当我编译以下代码时,我看到了与哈希相关的错误。 /tmp/ccCQFQ4N.o: 在函数“标准::__detail::_Hash_code_base ,标准::矢量 然后,我介绍了下面自己的Hash,问题就解决了。 问题 1 警告:基类“结构”std::unary_function,无符号整型 问题2 非常感谢。

  • 如果要在apstring变量中查找一个字符,可能我们并不想从字符串的头部开始查找。这种find函数的一种实现方式就是写一个增加一个参数的版本——传入我们希望的开始位置的索引。这是该函数的一个实现: int find (apstring s, char c, int i) { while (i<s.length()) { if (s[i] == c) return i; i =

  • 问题内容: 如果我有一个包含的列表,并且想编写一个迭代器,以便对以’a’开头的元素进行迭代,那么我可以编写自己的迭代器吗?我怎样才能做到这一点 ? 问题答案: 当然。迭代器只是接口的实现。如果您使用中的现有可迭代对象(例如),则需要对其进行子类化并覆盖其功能,以便返回自己的对象,或者提供一种在特殊实例中包装标准迭代器的方法(具有被更广泛使用的优势)等。

  • Algebraic Data Types 入门 在前面的章节中,我们谈了一些 Haskell 内置的型别和 Typeclass。而在本章中,我们将学习构造型别和 Typeclass 的方法。 我们已经见识过许多态别,如 Bool、Int、Char、Maybe 等等,不过在 Haskell 中该如何构造自己的型别呢?好问题,一种方法是使用 data 关键字。首先我们来看看 Bool 在标准函式库中的

  • 问题内容: 我在Golang中找不到“克隆”方法约定,但似乎必须要有一个。 我只看到了内置方式,但是它太底层了,无法处理(必要时)类似 我怀疑“ func(obj ClassA)Clone()interface {} interface”原型是否可以工作,因为调用将“松散”为ClassA设置的方法,并且需要像随后那样的显式代码。 请告知工作方向。 问题答案: 好的,虽然没有其他人可以给我适当的参考

  • 到目前为止,我只能在阅读firebase文档后得出以下结论:

  • 我正在跟踪这个问题的答案。 但我得到了这个错误: noSuchMethodError:没有虚拟方法removeAccount(Landroid/Accounts/Account;Landroid/App/Activity;Landroid/Accounts/AccountManagerCallback;Landroid/OS/Handler;)Landroid/Accounts/AccountMa

  • 如何选择要使用的id文档: 这里,我创建了一个随机id文档,但我想选择一个(我指的是收集任务中文档的id)