Nuxtjs Google身份验证

时间:2020-05-01 11:06:36

标签: google-oauth nuxt.js

致电$ auth.loginWith('google')之后,我得到了 http://localhost:3000/ru/user-registration#state=D7xooLsNNxNGfbvcQMU5g&access_token=ya29.a0Ae4lvC2z0XERgeRUipmu7c205WWCCSVgRZ-s_mYWg6ZoMgCGzVZ-U69arfpn-ybm5kthqtvqQrD7lGYmNDqiLtkW1aIecP6Wp-bwINMok3ztNcW5KwmlohLmtnbk4IZVkciKfb8T_JUtf89xpJcjpt2dSx_09FPGSKc&token_type=Bearer&expires_in=3599&scope=email%20profile%20openid%20https://www.googleapis.com/auth/userinfo.email%20https://www.googleapis.com/auth/userinfo.profile&authuser=0&prompt=consent作为回调。接下来,我该怎么做才能获取已注册的Gmail信息。欢迎任何帮助或想法

在我的nuxt.config.js中认证部分

auth: {
strategies: {
  local: {
    endpoints: {
      login: { url: "token/", method: "post", propertyName: "access" },
      user: { url: "user/me/", method: "get", propertyName: false },
      logout: false,
    }
  },
  google: {
    client_id: 'my_client_id',
    redirect_uri: 'http://localhost:3000',
  }
},

},

1 个答案:

答案 0 :(得分:0)

在您的nuxt.config.js文件中,您声明了两种不同的策略:本地策略和Google策略。如果您想将Google用作身份提供者,则无需精确确定端点。

这是我的一个项目的实际配置:

auth: {
  redirect: {
    login: '/login',
    logout: '/login',
    home: '/',
    callback: '/callback'
  },
  strategies: {
    google: {
      client_id: 'XXXXXxxxx.apps.googleusercontent.com'
    }
  }
}

我已经在Google API控制台上指定了以下授权的URI:localhost:3000/callback用于开发环境,mydomain.com/callback用于产品。