前端使用firebase配置第三方登录介绍(谷歌登录,facebook登录等)

参考文档

  1. 点此处去 firebase 官网
  2. 点此处去 web端的谷歌登录文档

实现

  1. 首先注册一个账号登录firebase(可以使用谷歌账号登录)

  2. 然后创建项目(走默认配置就行了)
    在这里插入图片描述

  3. 添加应用(走默认配置),如图所示,本文介绍web应用。
    在这里插入图片描述

  4. 应用添加完毕后走项目设置-如下图(进入常规界面,然后滚动条滚动至最底部,进入步骤5)
    在这里插入图片描述

  5. 在项目中下载依赖并填写以下初始化代码(以下代码在 项目设置=》常规(最底部)含有)
    1)下载依赖: npm install firebase
    2)初始化代码:(只要需要使用firebase的第三方登录,无论代码中是否使用初始化信息,以下代码必须先执行!)

    // Import the functions you need from the SDKs you need
    import { initializeApp } from "firebase/app";
    import { getAnalytics } from "firebase/analytics";
    // TODO: Add SDKs for Firebase products that you want to use
    // https://firebase.google.com/docs/web/setup#available-libraries// Your web app's Firebase configuration
    // For Firebase JS SDK v7.20.0 and later, measurementId is optional
    // 初始化firebase的配置信息
    const firebaseConfig = {apiKey: "AIzaSyBoayOSkMauSE0rq6vj4NzfsT75tWviJY0",authDomain: "test-csdn.firebaseapp.com",projectId: "test-csdn",storageBucket: "test-csdn.appspot.com",messagingSenderId: "356839085174",appId: "1:356836085174:web:bd0ad1246d767ffce4fa57",measurementId: "G-37QBHYS56N"
    };// Initialize Firebase (初始化 firebase ,这一步必须走!)
    const app = initializeApp(firebaseConfig);
    
  6. 如果想看详情可以至 web端的谷歌登录文档 看。
    1) 创建 Google 提供方对象实例

    import { GoogleAuthProvider } from "firebase/auth";const provider = new GoogleAuthProvider();
    

    2) 使用弹出式窗口登录

    import { getAuth, signInWithPopup, GoogleAuthProvider } from "firebase/auth";const auth = getAuth();
    signInWithPopup(auth, provider).then((result) => {// This gives you a Google Access Token. You can use it to access the Google API.const credential = GoogleAuthProvider.credentialFromResult(result);// 用户tokenconst token = credential.accessToken;// 用户登录后所获得的信息 The signed-in user info.const user = result.user;// IdP data available using getAdditionalUserInfo(result)// ...}).catch((error) => {// Handle Errors here.const errorCode = error.code;const errorMessage = error.message;// The email of the user's account used.const email = error.customData.email;// The AuthCredential type that was used.const credential = GoogleAuthProvider.credentialFromError(error);// ...});
    

    3)此时执行会发现无法进行谷歌登录,需到firebase后台管理系统配置google登录
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    4)此时谷歌登录调用则有效果了(项目启动域名必须为 http://localhost:xxxx/,如果不为这个,请配置域名白名单)
    5)打包后发布到服务器上后,需要配置域名白名单,不然上线就无法第三方登录
    在这里插入图片描述
    6)至此谷歌登录配置结束;

  7. facebook第三方登录需要到 facebook的后台管理系统配置流程。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/160543.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

go语言 | grpc原理介绍(二)

gRPC gRPC 是一个高性能、通用的开源 RPC 框架,其由 Google 2015 年主要面向移动应用开发并基于 HTTP/2 协议标准而设计,基于 ProtoBuf 序列化协议开发,且支持众多开发语言。 由于是开源框架,通信的双方可以进行二次开发&#x…

【每日一题】数组中两个数的最大异或值

文章目录 Tag题目来源题目解读解题思路方法一:哈希集合 其他语言python3 写在最后 Tag 【哈希集合】【位运算-异或和】【数组】【2023-11-04】 题目来源 421. 数组中两个数的最大异或值 题目解读 找出数组中两个数的最大异或结果。 解题思路 一看数据量达到了 …

【Linux】 passwd命令使用

passwd命令用来更改使用者的密码。 语法 passwd [选项] [用户名] passwd命令 -Linux手册页 著者 克里斯蒂安加夫顿<gaftonredhat.com> 命令选项及作用 执行令 passwd --help 执行命令结果 参数 -k, --keep-tokens 保持身份验证令牌不过期-d, --delete …

接口测试之什么是接口文档?

一、为什么要有接口文档&#xff1f; 没有接口文档的接口测试都是在抓瞎~前面的接口测试重点讲了协议&#xff0c;也讲了fiddler模拟接口请求&#xff0c;估计大部分还是不太懂怎么下手测试。这里小编专门拿出接口文档来做接口测试参考&#xff08;估计很多测试小伙伴没见过接口…

Zabbix监控联想服务器的配置方法

简介 图片 随着科技的发展&#xff0c;对于数据的敏感和安全大部分取决于对硬件性能、故障预判的监测&#xff0c;由此可见实时监测保障硬件的安全很重要&#xff0c;从而衍生了很多对硬件的监测软件&#xff0c;Zabbix就一个不错的选择。开源 开源 开源&#xff01; zabbix是…

Docker 安装ELK7.7.1

(注&#xff1a;在安装之前&#xff0c;本方法必须安装jdk1.8以上版本) (注&#xff1a;如果在虚拟机下用可以直接按方法走即可&#xff0c;如果是想进行备份后在别的机器上进行相关操作&#xff0c;必须把所有带有172.17.0.6、192.168.8.166:9200和端口号都改成你自己的方可使…

短视频矩阵营销系统工具如何助力商家企业获客?

1.批量剪辑技术研发 做的数学建模算法&#xff0c;数学阶乘的组合乘组形式&#xff0c;采用两套查重机制&#xff0c;一套针对素材进行查重抽帧素材&#xff0c;一套针对成片进行抽帧素材打分制度查重&#xff0c;自动滤重计入打分。 2.账号矩阵分发开发 多平台&#xff0c;…

xilinx fpga ddr mig axi

硬件 参考&#xff1a; https://zhuanlan.zhihu.com/p/97491454 https://blog.csdn.net/qq_22222449/article/details/106492469 https://zhuanlan.zhihu.com/p/26327347 https://zhuanlan.zhihu.com/p/582524766 包括野火、正点原子的资料 一片内存是 1Gbit 128MByte 16bit …

Java基础篇 | 多线程详解

✅作者简介&#xff1a;大家好&#xff0c;我是Leo&#xff0c;热爱Java后端开发者&#xff0c;一个想要与大家共同进步的男人&#x1f609;&#x1f609; &#x1f34e;个人主页&#xff1a;Leo的博客 &#x1f49e;当前专栏&#xff1a; Java从入门到精通 ✨特色专栏&#xf…

树结构及其算法-二叉运算树

目录 树结构及其算法-二叉运算树 C代码 树结构及其算法-二叉运算树 二叉树的应用实际上相当广泛&#xff0c;例如表达式之间的转换。可以把中序表达式按运算符优先级的顺序建成一棵二叉运算树&#xff08;Binary Expression Tree&#xff0c;或称为二叉表达式树&#xff09;…

Java高频面试题——Java基础篇

java基本数据类型及对应的字节数&#xff1f;什么是自动拆装箱&#xff1f;int与integer的区别&#xff1f;项目中如何使用&#xff1f; 1.java基本数据类型及对应的字节数&#xff1f; java总共有8中基本数据类型&#xff0c;整型4种&#xff0c;浮点型2种&#xff0c;字符类…

联想服务器-HTTP boot安装Linux系统

HTTP boot与传统PXE的主要差异 HTTP不再需要使用UDP协议的tftp服务&#xff08;连接不可靠、不支持大文件&#xff09;了&#xff0c;只需要dhcp 和http 两个服务即可&#xff0c;支持较稳定的大文件传输。 实验环境 ThinkSystem服务器SR650V2 SR660V2 通过HTTP boot安装Cen…