5.12 VUE项目实现Google 第三方登录

embedded/2024/11/14 19:17:47/

VUE项目实现Google 第三方登录

  • 目录
    • 一、Google开发者平台配置
      • 1. 新建项目
      • 2. 配置 OAuth 权限请求页面并选择范围
      • 3. 启动API 和 服务
    • 二、 登录代码实现
      • 1. 参考Google官网文档
      • 2. Google官网代码生成器
      • 3. 项目中实装

目录

一、Google开发者平台配置

Google Cloud: https://console.cloud.google.com/

1. 新建项目

在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


2. 配置 OAuth 权限请求页面并选择范围

首次使用谷歌开发平台时需要配置,配置过的可以跳过此步骤。

参考文章: 配置 OAuth 权限请求页面并选择范围

在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


在这里插入图片描述
在这里插入图片描述


3. 启动API 和 服务

在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


在这里插入图片描述

在这里插入图片描述


Client_ID 在之后代码中会用到,不用提前保存,需要了就点一下这个页面的复制按钮


在这里插入图片描述


二、 登录代码实现

1. 参考Google官网文档

显示“使用 Google 帐号登录”按钮

在这里插入图片描述

请务必在用户可能登录的任何页面上加载客户端库。

<script src="https://accounts.google.com/gsi/client" async></script>

使用 HTML 呈现登录按钮,并将 JWT 返回到平台的登录端点。

<html><body><script src="https://accounts.google.com/gsi/client" async></script><div id="g_id_onload"data-client_id="YOUR_GOOGLE_CLIENT_ID"data-login_uri="https://your.domain/your_login_endpoint"data-auto_prompt="false"></div><div class="g_id_signin"data-type="standard"data-size="large"data-theme="outline"data-text="sign_in_with"data-shape="rectangular"data-logo_alignment="left"></div><body>
</html>

使用 JavaScript 呈现登录按钮,并将 JWT 返回给浏览器的 JavaScript 回调处理程序。

javascript"><html><body><script src="https://accounts.google.com/gsi/client" async></script><script>function handleCredentialResponse(response) {console.log("Encoded JWT ID token: " + response.credential);}window.onload = function () {google.accounts.id.initialize({client_id: "YOUR_GOOGLE_CLIENT_ID"callback: handleCredentialResponse});google.accounts.id.renderButton(document.getElementById("buttonDiv"),{ theme: "outline", size: "large" }  // customization attributes);google.accounts.id.prompt(); // also display the One Tap dialog}</script><div id="buttonDiv"></div></body>
</html>

2. Google官网代码生成器

生成HTML代码: https://developers.google.com/identity/gsi/web/tools/configurator?hl=zh-cn


在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


javascript"><div id="g_id_onload"data-client_id="xxxx"data-context="signin"data-ux_mode="popup"data-login_uri="http://localhost:9011"data-auto_prompt="false">
</div><div class="g_id_signin"data-type="standard"data-shape="rectangular"data-theme="filled_blue"data-text="signin_with"data-size="large"data-logo_alignment="left">
</div>

3. 项目中实装


在这里插入图片描述


javascript">        <v-row><v-col><div class="g-signin-button" style="height: 50px; width: 30%"><component:is="'script'"src="https://accounts.google.com/gsi/client"ansyc/><divid="g_id_onload"data-client_id="换成你自己的Client_ID.apps.googleusercontent.com"data-context="signin"data-ux_mode="popup"data-callback="googleSignCallBack"data-auto_prompt="false"></div><divclass="g_id_signin"data-type="standard"data-shape="rectangular"data-theme="filled_blue"data-text="signin_with"data-size="large"data-locale="ja"data-logo_alignment="left"></div></div></v-col></v-row>

在这里插入图片描述


javascript">  mounted: function () {window.googleSignCallBack = this.googleSignCallBack;},

javascript">  methods: {googleSignCallBack(googleUser) {console.log("googleUser", googleUser);},},

在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


在这里插入图片描述



http://www.ppmy.cn/embedded/37997.html

相关文章

以gitee为例的git入门使用指北

安装git 在linux中我们首先需要使用 sudo apt install git来下载git 在windows中可以下载msysGit 链接&#xff1a;https://git-scm.com/download/win gitee准备 申请账号 建立仓库 ​ 点击新建仓库 这里一般是私有库&#xff0c;点击创建&#xff0c;这时你就拥有一个线上…

一起长锈:3 类型安全的Rust宏(从Java与C++转Rust之旅)

讲动人的故事,写懂人的代码 故事梗概:在她所维护的老旧Java系统即将被淘汰的危机边缘,这位在编程中总想快速完事的女程序员,希望能转岗到公司内部使用Rust语言的新项目组,因此开始自学Rust;然而,在掌握了Rust编程知识之后,为了通过Rust项目组的技术面试,使得转岗成功而…

ReactFlow的ReactFlow实例事件传参undefined处理状态切换

1.问题 ReactFlow的ReactFlow实例有些事件我们在不同的状态下并不需要&#xff0c;而且有时候传参会出现其它渲染效果&#xff0c;比如只读状态下我们不想要拖拉拽onEdgesChange连线重连或删除的功能。 2.思路 事件名称类型默认值onEdgesChange(changes: EdgeChange[]) >…

【C语言】动态分配内存

内存的五大分区 1、堆区&#xff08;heap&#xff09;——由程序员分配和释放&#xff0c; 若程序员不释放&#xff0c;程序结束时一般由操作系统回收。注意它与数据结构中的堆是两回事 2、栈区&#xff08;stack&#xff09;——由编译器自动分配释放 &#xff0c;存放函数的…

VM 安装Ubuntu20

1、VM 新建虚拟机 类型配置 - 典型 安装源选择 &#xff08;安装包获取&#xff1a;Ubuntu桌面系统 | Ubuntu&#xff09; 设置计算机名与用户账号密码 为虚拟机命一个名&#xff0c;设置虚拟机文件保存的位置 设置磁盘相关信息 最后一步&#xff0c;确定虚拟机的相关参数 设置…

如何安全的使用密码登录账号(在不知道密码的情况下)

首先&#xff0c;需要用到的这个工具&#xff1a; 度娘网盘 提取码&#xff1a;qwu2 蓝奏云 提取码&#xff1a;2r1z 1、打开工具&#xff0c;进入账号密码模块&#xff0c;如图 2、看到鼠标移动到密码那一栏有提示&#xff0c;按住Ctrl或者Alt点击或者双击就能复制内容&…

如何绘制厂区地图?厂区地图路线规划图怎么做的?

随着工业化的快速发展&#xff0c;工厂规模越来越大&#xff0c;厂内货车往往因路线不明兜转&#xff0c;造成物流效率低&#xff0c;甚至路线拥堵&#xff1b;其他也存在基于安全管理的人员定位&#xff0c;访客指引&#xff0c;厂区设备可视化管理等需求。这些需求都与空间位…

Stable Diffusion:AI绘画的新纪元

摘要&#xff1a; Stable Diffusion&#xff08;SD&#xff09;作为AI绘画领域的新星&#xff0c;以其开源免费、强大的生成能力和高度的自定义性&#xff0c;正在引领一场艺术与技术的革命。本文旨在为读者提供Stable Diffusion的全面介绍&#xff0c;包括其原理、核心组件、安…