1.添加项目/创建项目

https://console.firebase.google.com/u/0/

为项目取名 等。

利用Firebase进行第三方google登录(uniapp项目H5本地)_H5

2. 查看项目设置

利用Firebase进行第三方google登录(uniapp项目H5本地)_H5_02


3.添加应用

查看项目设置的同一页,点击「添加应用」,如图,是已经添加的应用。

利用Firebase进行第三方google登录(uniapp项目H5本地)_Firebase_03


添加应用时,选择web应用``</>``。

4.查看说明,复制配置项

「添加应用」之后,在同一页,可看到代码段:

在uniapp项目中,先按说明安装firebase,

再复制代码,到main.js。

利用Firebase进行第三方google登录(uniapp项目H5本地)_uniapp_04


5.添加第三方授权登录信息

利用Firebase进行第三方google登录(uniapp项目H5本地)_Firebase_05

6.在login.vue添加google登录

我的项目在pages/login/login.vue, 你可以调试好之后,把配置写在main.js

<text class="py-3 text-main ml-5" @click="googleSignIn()">Google登录</text> 
// 其他代码
<script>
	import { initializeApp } from '@firebase/app';
	import { getAuth, GoogleAuthProvider, signInWithPopup } from '@firebase/auth';
    // 其他代码

async googleSignIn() {
				// Your web app's Firebase configuration
				const firebaseConfig = {
				    // 这里是复制来的
				};
				// 初始化Firebase
				// 在 main.js 或应用的初始化文件中
				// 初始化 Firebase
				const fbapp = initializeApp(firebaseConfig);
				const auth = getAuth();
				const GoogleProvider = new GoogleAuthProvider();
				GoogleProvider.addScope('https://www.googleapis.com/auth/userinfo.email');
				GoogleProvider.addScope('https://www.googleapis.com/auth/userinfo.profile');
				signInWithPopup(auth, GoogleProvider)
						.then((result) => {
						    //result 有用户的信息,根据后端要求拿需要的,如果是弹窗,授权成功会自动关闭弹窗
					           //这里处理你需要的逻辑
							console.log('- google result -')
							console.log(result)
							const credential = GoogleAuthProvider.credentialFromResult(result);
							const token = credential.accessToken;
							// The signed-in user info.
							const user = result.user;
							console.log('- result.user -')
							console.log(user)
							// IdP data available using getAdditionalUserInfo(result)
						})
						.catch((error) => {
						   //可处理授权失败后的逻辑
						   console.log(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);
						});
				},
</script>
// 其他代码


7.点击Google登录看效果

弹出授权框:因为我的项目id是haishort, 授权框里显示的是:haishort.firebaseapp.com,正式上线后,您可以申请自定义的名称,但是需要填写OAuth权限请求页面并通过审核,请看笔者写的这一篇。


利用Firebase进行第三方google登录(uniapp项目H5本地)_Firebase_06


你授权完成后,这个弹出框会自动关闭。然后,

控制台打印的结果如下:

利用Firebase进行第三方google登录(uniapp项目H5本地)_H5_07

8.上线还要添加您的网域

在这里添加网域。

利用Firebase进行第三方google登录(uniapp项目H5本地)_Firebase_08

再进入「管理服务账号权限」


利用Firebase进行第三方google登录(uniapp项目H5本地)_Google_09


进入Google Cloud 的「凭据」

利用Firebase进行第三方google登录(uniapp项目H5本地)_Firebase_10


在OAuth2.0客户端ID,点编辑信息。

利用Firebase进行第三方google登录(uniapp项目H5本地)_Firebase_11


可看到如图是默认的,可再添加你自己的。

利用Firebase进行第三方google登录(uniapp项目H5本地)_Google_12

OAuth授权请求页面,还没有去申请。

本文终。

参考文章:

web项目集成Google登录教程

包括:一键快捷功能(一键式登录弹窗)

https://blog.csdn.net/m0\_62332650/article/details/135949290

在网页中接入谷歌(Google)帐号登录

包括:有Go语言项目代码github

https://blog.twofei.com/784/#comment-1522

利用Firebase进行第三方google登录(web)

https://juejin.cn/post/7070710954623221791 

前端 vue 实现 Google账户登录 功能

https://juejin.cn/post/7184701797506744375