我想在一个Nuxt网站前实现Google认证。我使用的是社区 认证模块 与内置的谷歌战略。实际上,在localhost中的认证工作是完美的,但当网站在线时,它就不工作了。有时,Google会回应一个401错误(无效凭证)。
以下是我的网站的情况 nuxt.config.js
文件。
export default {
mode: 'spa',
modules: [
"@nuxtjs/axios",
"@nuxtjs/auth",
"@nuxtjs/vuetify",
],
auth: {
strategies:{
google: {
client_id:
"XXXXXXXX-xxxxxxxxxxxxxxx.apps.googleusercontent.com"
}
},
redirect: {
login: '/login',
logout: '/login',
home: '/',
callback: '/callback'
}
}
}
这里是我的 login.vue
页面。
<template>
<v-btn @click="loginClicked()">Login with Google</v-btn>
</template>
<script>
export default {
middleware: ['auth'],
methods: {
consoleLog(text) {
if (this.log !== null) {
this.log += text + "\n";
} else {
this.log = text + "\n";
}
},
async loginClicked() {
try {
let res = await this.$auth.loginWith('google');
console.log("login result: " + res);
} catch (err) {
this.consoleLog("login error: " + err);
}
}
}
}
</script>
似乎Nuxt-Auth模块的最后一次更新修复了我的问题(v4.9.1).changelog状态下,回调路由检查的oauth2修复。