📅  最后修改于: 2023-12-03 15:05:52.626000             🧑  作者: Mango
在 Web 开发中,用户登录授权是很常见的一项功能。Google 登录和 GitHub 登录都是很流行的第三方登录方式。在 Vue.js 中,我们可以使用各自提供的 API 实现这两种登录方式。
Google 登录需要访问 Google API,使用 vue-google-oauth2 插件可以方便地实现 Google 登录。
npm install vue-google-oauth2 --save
<template>
<button @click="login">Google 登录</button>
</template>
<script>
import Vue from 'vue';
import {GoogleAuth} from 'vue-google-oauth2';
const gauthOption = {
clientId: 'YOUR GOOGLE CLIENT ID',
scope: 'email profile openid',
prompt: 'select_account'
};
Vue.use(GoogleAuth, gauthOption);
export default {
methods: {
async login() {
try {
const tokenInfo = await Vue.$gAuth.signIn();
console.log(tokenInfo);
} catch (error) {
console.error(error);
}
}
}
};
</script>
gauthOption
常用配置项如下:
clientId
,必需,为 Google API Console 中的客户端 IDscope
,可选,授权范围,多个值用空格隔开,默认为 'email profile openid'
prompt
,可选,提示用户选择账户,默认为 'select_account'
GitHub 登录需要访问 GitHub API,使用 vue-github-login 插件可以方便地实现 GitHub 登录。
npm install vue-github-login --save
<template>
<button @click="login">GitHub 登录</button>
</template>
<script>
import GitHubLogin from 'vue-github-login';
export default {
components: {
GitHubLogin
},
data() {
return {
accessToken: ''
};
},
methods: {
async login(response) {
try {
this.accessToken = response.access_token;
console.log(this.accessToken);
} catch (error) {
console.error(error);
}
}
}
};
</script>
在 GitHub API Settings 中创建 OAuth App,获取 Client ID 和 Client Secret,然后在 Vue 中使用如下配置:
<template>
<GitHubLogin
:clientId="'YOUR GITHUB CLIENT ID'"
:clientSecret="'YOUR GITHUB CLIENT SECRET'"
@response="login"
/>
</template>
以上是 Vue 中使用 Google 登录和 GitHub 登录的简单介绍和示例。这两个插件可以方便地完成第三方登录授权的功能,开发者可以根据实际需求进行使用和定制。