Vue实现Google第三方登录的示例代码

 更新时间:2021年07月02日 09:51:30   作者:bright1688  
本文记录作者在vue项目中使用到Google第三方登录,查询到的资料文档也不详细,故此把自己所遇到的坑及问题详细的记录下来。

一、开发者平台配置

1、进入开发者平台,首先前往Google API 控制台选择或者创建一个项目

谷歌开发者平台

在这里插入图片描述

一堆眼花缭乱的API让你无从选择,但是你只要记住这次进来的目的是:社交API

在这里插入图片描述

2.使用这个API之前还需要做一件事,那就是申请一个OAuth 2.0 客户端 ID

在这里插入图片描述

3按照要求填写你项目的类型、名称以及来源url

注:创建完成之后,页面也有一个弹窗将你申请的客户端ID已经密钥展示出来,没错这个就是一个生成的过程。

在这里插入图片描述

4、安装vue-google-signin-button

npm install vue-google-signin-button --save

5、在main.js中引入并注册

import GSignInButton from 'vue-google-signin-button'
Vue.use(GSignInButton);

6.index.html引入js文件

<!--谷歌登录需要的依赖js-->
<script src="//apis.google.com/js/api:client.js"></script>

7、在login.vue中使用组件

<template>
  <g-signin-button
    :params="googleSignInParams"
    @success="onSignInSuccess"
    @error="onSignInError">
    Sign in with Google
  </g-signin-button>
</template>

<script>
export default {
  data () {
    return {
      /**
       * The Auth2 parameters, as seen on
       * https://developers.google.com/identity/sign-in/web/reference#gapiauth2initparams.
       * As the very least, a valid client_id must present.
       * @type {Object}
       */
      googleSignInParams: {
        client_id: 'YOUR_APP_CLIENT_ID.apps.googleusercontent.com'
      }
    }
  },
  methods: {
    onSignInSuccess (googleUser) {
      console.log(googleUser)
      const profile = googleUser.getBasicProfile()
      console.log(profile)
    },
    onSignInError (error) {
      console.log('OH NOES', error)
    }
  }
}
</script>

<style>
.g-signin-button {
  /* This is where you control how the button looks. Be creative! */
  display: inline-block;
  padding: 4px 8px;
  border-radius: 3px;
  background-color: #3c82f7;
  color: #fff;
  box-shadow: 0 3px 0 #0f69ff;
}
</style>

在这里插入图片描述

解决问题BUG

1、问题一:初始化没有引入js

你会发现在初始化的时候页面会出现一个报错。


出现这个问题的原因就是插件本身是没有引入Google.js文件。解决办法就是Vue的index.html中引入,详情看下图。

到此这篇关于Vue实现Google第三方登录的示例代码的文章就介绍到这了,更多相关Vue Google第三方登录内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 深度了解vue.js中hooks的相关知识

    深度了解vue.js中hooks的相关知识

    这篇文章主要介绍了深度了解vue.js中hooks的相关知识,生命周期钩子提供了一些 方法 ,因此你可以在组件生命周期的不同时刻精确地触发某些操作。当我们将组件实例化时,组件会被创建,反之会被销毁。,需要的朋友可以参考下
    2019-06-06
  • vue+openlayers绘制省市边界线

    vue+openlayers绘制省市边界线

    这篇文章主要为大家详细介绍了vue+openlayers绘制省市边界线,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-12-12
  • vue router使用query和params传参的使用和区别

    vue router使用query和params传参的使用和区别

    本篇文章主要介绍了vue router使用query和params传参的使用和区别,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-11-11
  • Vue3中实现拖拽和缩放自定义看板 vue-grid-layout的方法

    Vue3中实现拖拽和缩放自定义看板 vue-grid-layout的方法

    这篇文章主要介绍了Vue3中实现拖拽和缩放自定义看板 vue-grid-layout的方法,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-03-03
  • Vite和Vue CLI的优劣

    Vite和Vue CLI的优劣

    这篇文章主要介绍了Vite比Vue CLI快在哪里,帮助大家更好的理解和使用vue,感兴趣的朋友可以了解下
    2021-01-01
  • Vue-cli 移动端布局和动画使用详解

    Vue-cli 移动端布局和动画使用详解

    这篇文章主要介绍了Vue-cli和移动端布局和动画使用详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-08-08
  • VUE引入使用G2图表的实现

    VUE引入使用G2图表的实现

    本文主要介绍了VUE引入使用G2图表的实现,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-08-08
  • Vue3+Element Plus按需引入(自动导入)详解

    Vue3+Element Plus按需引入(自动导入)详解

    element-plus根据官网文档,推荐用户采用按需导入的方式进行导入,下面这篇文章主要给大家介绍了关于Vue3+Element Plus按需引入(自动导入)的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-10-10
  • Vue中遍历数组的新方法实例详解

    Vue中遍历数组的新方法实例详解

    这篇文章主要介绍了Vue中遍历数组的新方法,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-07-07
  • Vue form 表单提交+ajax异步请求+分页效果

    Vue form 表单提交+ajax异步请求+分页效果

    这篇文章主要介绍了Vue form 表单提交+ajax异步请求+分页效果,需要的朋友可以参考下
    2017-04-04

最新评论