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

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 回调处理程序。

<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


在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


<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. 项目中实装


在这里插入图片描述


        <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>

在这里插入图片描述


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

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

在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


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

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

相关文章

Web Component fancy-components

css-doodle 组件库 fancy-components 组件库使用 yarn add fancy-components使用&#xff1a; import { FcBubbles } from fancy-components new FcBubbles() //要用哪个就new哪个 new 这里可能会报错eslink,eslintrc.js中处理报错 module.exports {rules: {no-new: off} …

《Mask2Former》算法详解

文章地址&#xff1a;《Masked-attention Mask Transformer for Universal Image Segmentation》 代码地址&#xff1a;https://github.com/facebookresearch/Mask2Former 文章为发表在CVPR2022的一篇文章。从名字可以看出文章像提出一个可以统一处理各种分割任务&#xff08;…

初始Linux(基础命令)

前言&#xff1a; 我们不能总沉浸在编程语言中&#xff0c;虽然代码能力提升了&#xff0c;但是也只是开胃小菜。我们要朝着更高的方向发展。 最近小编一直在刷力扣&#xff0c;以至于博客更新的比较少。今天就带各位开始学习全新的知识——Linux.至于为啥要学&#xff1f; Lin…

【复杂网络】如何用简易通俗的方式快速理解什么是“相对重要节点挖掘”?

什么是相对重要节点&#xff1f; 一、相对重要节点的定义二、如何区分相对重要节点与重要节点&#xff1f;1. 相对重要性与节点相似性2. 识别相对重要节点的两个阶段第一阶段&#xff1a;个体重要性值的计算第二阶段&#xff1a;累积重要性值的计算 三、经典的相对重要节点挖掘…

HarmonyOS开发案例:【电子相册】

介绍 如何实现一个简单的电子相册应用的开发&#xff0c;主要功能包括&#xff1a; 实现首页顶部的轮播效果。 实现页面跳转时共享元素的转场动画效果。 实现通过手势控制图片的放大、缩小、左右滑动查看细节等效果。 相关概念 [Swiper]&#xff1a;滑块视图容器&#x…

Linux进程地址空间第三讲

至今为止&#xff0c; 我们所学到的大多数的知识&#xff0c; 包括语言&#xff0c; 数据结构&#xff0c; 动静态库等等的 都是在下面这3G&#xff0c; 也就是用户空间里的(进程等待&#xff0c; 信号之类的与内核有关的是在上面那1G里的) 所以对于我们来说&#xff0c; 我们…

ETLCloud工具怎么实现多流SQL实时运算?

多流SQL实时运算的特点和应用场景 多流SQL实时运算是一种先进的数据处理技术&#xff0c;它在大数据处理领域中扮演着至关重要的角色&#xff0c;尤其是在需要对多个数据流进行实时分析和处理的应用场景中。该技术结合了SQL&#xff08;结构化查询语言&#xff09;的易用性和流…

消费增值:让每一分钱都增值的新时代消费模式

是否曾思考过&#xff0c;在每次购物或服务消费时&#xff0c;你支付的款项究竟流向了何方&#xff1f;如今&#xff0c;我想向你揭示一种颠覆性的消费理念——消费增值。它不仅仅满足你的日常消费需求&#xff0c;更能让你的资金在消费的同时实现增值&#xff0c;为你打开全新…

企业邮箱是什么?怎么注册一个企业邮箱?

企业邮箱是什么&#xff1f;有什么特征&#xff1f;企业邮箱的特征就是以企业域名为后缀。企业通过企业邮箱能够提升自身的品牌形象&#xff0c;还能够提高员工的工作效率。作为企业的管理者来说&#xff0c;应该如何注册一个企业邮箱呢&#xff1f;小编今天就为您介绍下企业邮…

用户管理中心——数据库设计用户注册逻辑设计

用户管理中心——数据库设计&用户注册逻辑设计 规整项目目录1. 数据库自动生成器的使用实现基本的数据库操作&#xff08;操作user表&#xff09; 2. 注册逻辑的设计(1) 写注册逻辑(2) 实现(3) 测试代码 3. 遇到的问题 规整项目目录 utils–存放工具类&#xff0c;比如加密…

Parts2Whole革新:多参照图定制人像,创新自定义肖像生成框架!

DeepVisionary 每日深度学习前沿科技推送&顶会论文分享&#xff0c;与你一起了解前沿深度学习信息&#xff01; Parts2Whole革新&#xff1a;多参照图定制人像&#xff0c;创新自定义肖像生成框架&#xff01; 引言&#xff1a;探索多条件人像生成的新篇章 在数字内容创作…

【计算机科学速成课】笔记三

文章目录 17.集成电路真空管时代晶体管时代集成电路时代印刷电路板时代光刻时代 17.集成电路 Over the past six episodes, we delved into software, 过去 6 集我们聊了软件 \N 从早期编程方式到现代软件工程 from early programming efforts to modern software engineerin…