Vue3接入谷歌登录

快速在网站中接入谷歌登录

English

最近在学习前端,学着搭建了一个自己的网站,用的是vue3+vite。不得不说前端的代码真的挺难写的,typescript也写不明白,找别人的代码一会儿js一会儿ts,只能说是一头包。

因为需要登录功能,首先加了一个简单的邮箱密码登录功能,就想着再加个谷歌登录功能。好在很快就找到了一个vue3用的谷歌登录组件,按照文档很快就完成了接入。

不过第一步需要先去谷歌控制台开启谷歌登录,配置客户端ID。

配置谷歌登录

官方文档: https://developers.google.com/identity/gsi/web/guides/get-google-api-clientid?hl=zh-cn

  • 进入 谷歌控制台 新建一个项目

  • 设置OAuth同意屏幕,配置网站域名、名称、图标、电子邮件等

  • 进入凭据,设置OAuth2.0客户端ID,配置已获授权的 JavaScript 来源,以及已获授权的重定向 URI(服务端调用需要配置),配置完成后获得客户端ID和密钥

安装vue3-google-login

vue3-google-login插件 https://devbaji.github.io/vue3-google-login/

npm install vue3-google-login

初始化组件

import { createApp } from 'vue'
import App from './App.vue'
import vue3GoogleLogin from 'vue3-google-login'

const app = createApp(App)

app.use(vue3GoogleLogin, {
  clientId: 'YOUR_GOOGLE_CLIENT_ID'
})

app.mount('#app')

使用组件

然后我就在login.vue组件中引入登录组件

<template>
    <GoogleLogin :callback="callback" />
</template>


function callback(response: any) {
    // 进行后端验证
    fetch()...
}

最终效果

扩展

按照上面的步骤,一个简单的谷歌登录就完成了,点击谷歌登录按钮–登陆–成功后返回回调信息。我在拿到返回的token后传给服务端校验,校验通过后走正常的登录/注册流程,使用返回的邮箱作为登录账号。

当然这个插件还支持很多功能,比如自动登录(检测到只有一个谷歌账号自动登录)、一键提示、自定义登录等等,可以查看文档自行选择,我觉得这个插件最好的地方在于开箱即用,文档中最基础的配置可以满足需求。

这个插件也支持i18n,测试了英语/中文的支持。

加载中...
📊 加载中...
感谢Jimmy | 隐私政策 | 赞赏支持
Liu 的 AI 助手