Nuxt Auth 策略不获取身份验证令牌

时间:2021-05-11 17:45:41

标签: nuxt.js nuxt-auth

我有以下身份验证策略:

auth: {
    strategies: {
      local: {
        ...,
      },
      google: {
        clientId:
          "<MY CLIENT ID>",
        responseType: "code",
        endpoints: {
          token: "http://localhost:8000/social-login/google/",
          userInfo: "http://localhost:8000/auth/user/",
        },
      },
    },
    redirect: {
      ...
    },
  },

奇怪的是,这个策略自己完成了所有的身份验证,从来没有碰到我的后端! responseType code 不应该去 endpoints.token 获取令牌吗?

我的登录功能如下所示:

    loginWithGoogle() {
      this.$auth.loginWith("google", {
        params: {
          client_id:
            "<MY CLIENT ID>",
        },
      });
    },

有趣的是,如果我没有在此处传递参数,Google 会向我显示缺少 client_id 的错误。

1 个答案:

答案 0 :(得分:1)

这是 @nuxtjs/auth 的一个问题,它是版本 <= v4.9.1,并且作为文档 warns 它可能包含错误和未实现的功能。

使用名为 v5@nuxtjs/auth-next 可以解决问题。

安装为:

yarn add --exact @nuxtjs/auth-next

然后添加到您的 nuxt.config.js 为(来自 documentation):

{
  modules: [
    '@nuxtjs/auth-next'
  ],
  auth: {
    // Options
  }
}