上一篇说了 facebook 的实现, 接下来说下 google 的实现了, 国际化的用的少. 实际详细的文档也不多, 这记录下来!
demo 地址请狠狠的戳这里 http://download.lllomh.com/cliect/#/product/J417101756893390
一: 开发者平台配置
进入开发者平台 https://console.developers.google.com/apis/credentials?project=matest-247702
在凭据中创建 app 凭据:
设置 重定向地址等相关内容
动态演示:
我们需要的 是那个客户端 ID!
二: 代码
核心代码:
<template>
<div>
<button v-google-signin-button="clientId" class="google-signin-button"> Continue with Google</button>
</div>
</template>
<script>
import GoogleSignInButton from 'vue-google-signin-button-directive'
import jsonwebtoken from 'jsonwebtoken'
export default {
directives: {GoogleSignInButton},
data: () => ({clientId: '345345-petbt7osm0gs9mtivclevt6cjb9la43b.apps.googleusercontent.com'}),
mounted(){},
methods: {OnGoogleAuthSuccess (idToken) {console.log(idToken,"tokesdasdasd") // 返回第三方结果信息 默认是全 token 要用 jsonwebtoken 解析
// Receive the idToken and make your magic with the backend
},
OnGoogleAuthFail (error) {console.log(error)
}
}
}
</script>
<style>
.google-signin-button {
color: white;
background-color: red;
height: 50px;
font-size: 16px;
border-radius: 10px;
padding: 10px 20px 25px 20px;
box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
}
</style>
记得 npm install vue-google-signin-button-directive && npm install jsonwebtoken
结果如下:
比如这里 我的 url 是 http://localhost:5000, 那么开发者平台里面也要配置这个重定向地址 =>