Firebase在云功能中验证电子邮件密码

2023-11-27

我需要接受自定义用户名进入我的网站(计费者的要求,严格限制字母数字。)并且这些用户名应该可以与用户的电子邮件地址互换以用于登录目的。

我允许用户通过标准 Firebase 电子邮件密码身份验证使用其电子邮件和密码进行注册和登录。用户在计费者处注册,然后计费者通过回发将自定义生成的用户名返回给应用程序。

我创建了一个用户名表,其中包含每个用户名所属用户的 UID(最初有电子邮件和账单生成的用户名)

当用户尝试登录时,我会转到用户名表并查找 UID。此时我想使用刚刚查找到的UID和用户提供的密码通过standardfirebase身份验证系统。

我无法找到任何方法来验证用户密码对于云函数内查找的用户帐户是否有效,以便我可以生成自定义令牌。

我可以通过用户名查找用户,找到电子邮件,将其发送回客户端,并允许使用该电子邮件和用户提供的密码进行登录,但更愿意避免它,因为这将允许用户名和电子邮件地址与不良行为者相互联系。


在您的云功能中,您可以安装并使用firebase包除了firebase-admin,并像初始化网页一样初始化它。这样你就可以使用admin SDK找到用户名的电子邮件,然后使用firebase从云功能进行身份验证,使用signInWithEmailAndPassword。如果成功,您可以生成自定义令牌并将其发送给客户端。

我不知道这是否是最好的方法,但它确实有效。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Firebase在云功能中验证电子邮件密码 的相关文章

随机推荐

  • 如何在 Java 中向 XML 输出添加回车符

    在 Java 中 如何在生成的 XML 文件中输出回车符 以便所有内容都不在一行上 DocumentBuilderFactory docFactory DocumentBuilderFactory newInstance DocumentB
  • 是否有用于排序方法的 Visual Studio 2010 扩展?

    StyleCop要求对 C 文件的内容采用特定的排序顺序 例如 字段应在方法之前声明 公共声明应在私有声明之前 如果有一个 Visual Studio 扩展可以自动将这些内容移至该顺序 将会非常有用 Does a good为此存在扩展名 我
  • 排除 s3cmd 同步的文件夹

    我正在使用 s3cmd 我想知道如何排除存储桶中的所有文件夹并仅同步存储桶根 例如 bucket folder two folder two file jpg get jpg 通过同步 我只希望它同步 get jpg 并忽略文件夹及其内容
  • 呼叫操作员 & 的命令是什么?

    I used ls alias 并试图找到 然而 不在输出中 什么是 是不是以下的组合Invoke Command and Invoke Expression 是否有其他操作员在 PowerShell 中没有 cmdlet 呼叫接线员 允许
  • 如何处理 DataGridViewCell 中的 KeyEvent?

    有没有Keydown事件一DataGridViewCell 我想做的是 当用户在特定单元格中键入内容时 他可以按 F1 来获取该特定列的帮助 并且会弹出一些表格 这是什么事件 I found this在论坛中编写代码 并且有效 privat
  • 消息“警告:函数的隐式声明”

    我的编译器 GCC 向我发出警告 警告 函数的隐式声明 为什么它会来 您正在使用编译器尚未看到其声明的函数 原型 yet 例如 int main fun 2 21 The compiler has not seen the declarat
  • 托管 C++ 中的数组初始化

    我希望声明并初始化一个一维托管项目数组 如果是C 代码 我会这样写 VdbMethodInfo methods new VdbMethodInfo new VdbMethodInfo Method1 new VdbMethodInfo Me
  • 如何在命令行中编译多个java源文件

    我知道跑步javac file1 java产生file1 class if file1 java是唯一的源文件 那么我只能说java file1运行它 但是 如果我有 2 个源文件 file1 java and file2 java 那么我
  • Hibernate - 唯一列约束被忽略

    我有一个 MySQL 表来保存标签 即像 Stack Overflow 上使用的标签一样 它只有一个 id pk 和一个用于保存标签本身的标签列 我的标签实体的带注释的 get 方法如下所示 Id GeneratedValue strate
  • 将 YCbCr 颜色空间映射到 RGB

    我正在尝试使用 python 进行 JPEG 压缩 我加载 tiff 图像并将其存储为 numpy uint8 RGB 数组 我这样做是为了颜色映射 def rgb2ycbcr im cbcr np empty like im r im 0
  • NSLog 和 NSLogv 之间的区别

    谁能解释一下 NSLog 和 NSLogv 之间的区别 我知道NSLog用于在控制台打印数据 但什么是NSLogv 假设你想写一个函数如同NSLog 除了记录消息之外 它还将消息保存到数组中 你会如何实施这个 如果你写一个可变参数函数 vo
  • ModelViewSet 中的 django-rest 自定义 url

    我在向 django rest framework 中的 ModelViewSet 添加自定义 URL 时遇到问题 这是我的主要 urls py 的示例 router routers DefaultRouter router registe
  • matplotlib 3D 数据的 2D 切片

    我无法找到任何关于此的信息 也许是因为我没有正确的命名法 即我不知道如何准确地要求它 但无论如何 我有一个 3D numpy 数组 a 我想识别并绘制 a 0 的二维表面 需要说明的是 数据是在 3D 空间上平滑变化的双精度浮点数 表面 a
  • 如何使用 Laravel 路由来处理 URL 中未知数量的参数?

    例如 我正在出版包含章节 主题 文章的书籍 http domain com book chapter topic article 我会有带有参数的 Laravel 路线 Route get book chapter topic articl
  • 将两个或多个 CSS 选择器与布尔条件组合

    有没有办法使用布尔条件组合两个或多个 CSS 选择器 and or not 考虑一下这个 div div class message error You have being logged out due too much activity
  • ContextCompat.startForegroundService(context, Intent) 和 startForegroundService(intent) 有什么区别?

    正如问题标题所问 我想知道它们的差异是什么 因为文档不是很清楚它们是否确实存在差异 提前致谢 ContextCompat是出于兼容性目的的实用程序类 context startForegroundService是在 Android Oreo
  • 为什么 checkNotNull() 没有使用 @Nonnull 注解

    我发现不方便的是checkNotNull 番石榴中的前提条件没有标记为 Nonull注解 考虑以下示例 State Set
  • 基于键对树图进行排序,其中键是变量

    我想根据键对树图进行排序 其中键是变量 因此排序应该基于变量值 我们如何实现这一点 我想在内置排序方法中使用 Rathar 通过代码实现它 任何带有示例的回复都会有很大帮助 TreeMap 它实现了SortedMap 以正确的顺序自动存储密
  • 返回带有模型的视图并转到特定的锚标记

    我有一个带有多个锚标记的视图 有没有办法返回带有模型对象的视图并转到视图中的特定锚标记 例如 我的视图有这样的锚点 a a a a 我知道我可以使用以下方法击中这些锚点 return Redirect Url RouteUrl new co
  • Firebase在云功能中验证电子邮件密码

    我需要接受自定义用户名进入我的网站 计费者的要求 严格限制字母数字 并且这些用户名应该可以与用户的电子邮件地址互换以用于登录目的 我允许用户通过标准 Firebase 电子邮件密码身份验证使用其电子邮件和密码进行注册和登录 用户在计费者处注