Google 一键登录 (YOLO) + Firebase 身份验证?

2023-12-23

我注意到 Google 已重新开放Google 一键登录和自动注册 https://developers.google.com/identity/one-tap/web由于安全问题而暂停后。

我一直在尝试了解如何使其与 Firebase Auth 一起使用,有人有任何想法吗?即使对它应该如何工作有一个高层次的看法也会很棒。

到目前为止,我已经成功创建了这个:

https://google-one-tap.brunocrosier.now.sh https://google-one-tap.brunocrosier.now.sh

到目前为止它做了什么:

  1. 显示一键提示
  2. 允许您点击“以 {name} 身份继续”
  3. 向 /api/google 发出 post 请求并验证 ID 令牌作为 按照这些说明 https://developers.google.com/identity/one-tap/web/guides/verify-google-id-token
  4. 以 JSON 格式输出数据

我的问题是,如何才能使用 Firebase Auth 来完成这项工作?我可以使用 #4 中输出的数据在 Firebase 中创建 Google 用户吗?

提前致谢!


一键式 Google 登录 (https://developers.google.com/identity/gsi/web https://developers.google.com/identity/gsi/web)

response通过回调直接到达您的函数一键脚本 https://developers.google.com/identity/gsi/web/guides/handle-credential-responses-js-functions.

火力地堡 8

let credential = firebase.auth.GoogleAuthProvider.credential(response.credential);

firebase.auth().signInWithCredential(credential).then(function(result) {
  let user = result.user
  console.log(user)
});

火力地堡 9

import { getAuth, GoogleAuthProvider, signInWithCredential } from "firebase/auth"
    
const yourAuth = getAuth(yourApp)
const credential = GoogleAuthProvider.credential(response.credential)
signInWithCredential(yourAuth, credential).then(function (result) {
  const user = result.user
  console.log(user)
})
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Google 一键登录 (YOLO) + Firebase 身份验证? 的相关文章

随机推荐

  • 在 Symfony2 中访问与 Bundle 相关的文件

    在 Symfony2 应用程序的路由配置中 我可以引用如下文件 somepage prefix someprefix resource SomeBundle Resources config config yml 有什么方法可以访问控制器或
  • libphp5.so 缺失

    我使用以下命令安装了 php 5 2 17 configure make make install 安装顺利 但我找不到 libphp5 so 文件 任何人都可以建议我出了什么问题以及如何修复此错误 尝试 libapache2 mod ph
  • 如何使用 mongoexport 导出排序数据?

    我在 mongo 中有一个集合 其中包含名称和计数字段 name myName count 5 是否可以使用 mongoexport 按计数对数据进行排序并导出为 json 从 MongoDB 2 6 开始 您可以通过 sort to mo
  • 使用 标签代替 图标有哪些优点/缺点?

    Facebook 的 HTML 和 Twitter Bootstrap HTML v3 之前 都使用 i 标签来显示图标 然而 从HTML5 规范 http www w3 org International questions qa b a
  • 使用 F# 中的 Applicative 功能构建记录

    假设有一个type r A int B string C int D string 和一些值 let aOptional int option let bOptional string option let cOptional int op
  • 相当于张量流中的 numpy.digitize

    我正在研究一个使用的自定义损失函数numpy digitize 内部 对于一组参数 损失最小化bins数字化方法中使用的值 为了使用tensorflow优化器 我想知道是否有等效的实现digitize in tensorflow 如果没有
  • Google 图表背景颜色不适用于示例代码

    我使用的代码来自示例页面 https developers google com chart interactive docs gallery barchart创建水平条形图 选项backgroundColor适用于其他图表类型 例如thi
  • MooTools 的 Function.prototype.overloadSetter() 是做什么的?

    我正在浏览 MooTools 源代码来尝试理解它 implement and extend 公用事业 每个的定义指的是这样定义的函数 var enumerables true for var i in toString 1 enumerab
  • 禁用 RStudio 中的所有断点

    有没有办法禁用 RStudio 中的所有断点 我查看了 RStudio 文档并进行了谷歌搜索 但找不到方法 我也很好奇 特别想了解断点的概述 I ran grep在我的项目文件夹中 这是我发现的 首先 打开 RStudio 后 断点不会显示
  • swift 中的 T.Type 是什么

    谁能告诉我什么是T Type当我使用JSONDecoder decode 我认为它是解码我编码的数据的类型 很多例子都使用上面的方法 如下所示 JSONEncoder decode People self from data 如果我检查该方
  • 插件“react”中的错误与之间发生冲突

    我在我的主 React 应用程序中使用另一个 React 存储库 我们称之为设计 作为 git 子模块 我使用 webpack 来构建主应用程序 将子模块集成到应用程序中后 我在 webpack 构建过程中收到以下错误 ERROR in P
  • 如何使用 widgets.SelectMultiple() 交互地选择要绘制的系列?

    背景 类似的问题已被问到here https stackoverflow com questions 12891860 interactive selection of series in a matplotlib plot 但不是很具体
  • Angular 6 库共享样式表

    如何设置 index scss 并将变量 混合等的全局样式表导入到 Angular 6 库中 Angular CLI 生成一个带有根组件和组件 scss 的 lib 但添加或导入到根组件的样式不可用于子组件 默认情况下 封装样式是有意义的
  • 在 SQL Server Management Studio 中将持久计算列标记为 NOT NULL

    在 SQL Server 2005 中可以创建一个既持久又定义为 NOT NULL 不能包含空值 的计算列 当使用像 Linq2Sql 这样的库时 如果我们想避免大量的手动工作来确保我们的代码列 始终 具有值 那么第二个属性非常重要 使用直
  • Android 1.5 Gradle Sync 从未完成

    我最近升级到 Android Studio 1 5 然而 更新后 Gradle 陷入 正在刷新 项目 Gradle 项目 并且永远不会停止 以前版本的 Android Studio 运行得很好 我该如何解决这个问题 我使用的是 Ubuntu
  • 在轴上手动定位刻度 - D3

    我正在使用 d3 制作图表 我想将刻度线放在 xAxis 上我指定的位置 例如 如果我想要以下位置的刻度线 11 0 11 18 30 42 我该怎么做 Thanks 请参阅文档 axis tickValues https github c
  • 如何限制仅从 NLB 对 EC2 的访问

    Question 有没有办法确保访问仅来自特定的 NLB 在目前NLB的限制下 不知道有没有办法 局限性 AWS Network Load Balancer NLB 没有安全组 SG 因此无法使用 SG 来验证源是否为 NLB NLB 实例
  • 计算某个点与英国海岸之间的最小距离

    我一直在遵循所示的示例here https stackoverflow com questions 21295302 calculating minimum distance between a point and the coast 但对
  • 永久修改App.config C#

    好的 所以我正在尝试使用appSettings中的元素App Config文件来确定使用哪种存储 这是我的应用程序配置 file
  • Google 一键登录 (YOLO) + Firebase 身份验证?

    我注意到 Google 已重新开放Google 一键登录和自动注册 https developers google com identity one tap web由于安全问题而暂停后 我一直在尝试了解如何使其与 Firebase Auth