【问题标题】:Nuxt Auth doesn't work with Google strategieNuxt Auth 不适用于 Google 策略
【发布时间】:2020-07-10 23:36:27
【问题描述】:

我正在尝试在 Nuxt 网站前实施 Google 身份验证。我使用社区Auth module 和内置的谷歌策略。实际上,身份验证在 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>

【问题讨论】:

  • 您能否分享文章或代码源,我可以从中使谷歌身份验证工作?折腾了几天,还是没有结果。提前谢谢你

标签: authentication google-oauth nuxt.js


【解决方案1】:

Nuxt-Auth 模块的最后一次更新似乎解决了我的问题(v4.9.1)。 更改日志状态为回调路由检查的 oauth2 修复。

【讨论】:

    【解决方案2】:
    google: {
    clientId: '............................................apps.googleusercontent.com',
    scope: ['profile', 'email'],
    codeChallengeMethod: '',
    responseType: 'token id_token',
    }
    

    这对我有用:)

    【讨论】:

    • 一年多以前有一个已经被接受的答案。您能否在您的回答中添加更多说明,说明它为什么有用或您是如何得出它的?
    猜你喜欢
    • 2021-08-02
    • 2019-07-03
    • 2017-04-09
    • 1970-01-01
    • 1970-01-01
    • 2022-11-16
    • 2020-10-10
    • 2019-04-30
    • 1970-01-01
    相关资源
    最近更新 更多