如何从 auth-module、Nuxt.js 获取 access_token

Posted

技术标签:

【中文标题】如何从 auth-module、Nuxt.js 获取 access_token【英文标题】:How can I get access_token from auth-module, Nuxt.js 【发布时间】:2019-08-21 03:49:26 【问题描述】:

我尝试使用 auth-module 以下链接使用 Nuxt.js 构建 Facebook 登录。

https://github.com/nuxt-community/auth-module

我无法获得“access_token”。代码如下。

// pages/login.vue
export default 
   methods: 
       this.$auth.loginWith('facebook')
   

回调 URI 是这样的。

https://localhost:3000/facebook/oauth_callback/?#access_token=***&data_access_expiration_time=1561715202&expires_in=4398&reauthorize_required_in=7776000&state=MC4xOTU3MDM2ODIxMzIzOTA5OA
// pages/facebook/oauth_callback/index.vue
<template>
  <section>
    <p> this.$auth.$state </p>
    <p> this.$route.query </p
  </section>
</template>

this.$auth.$state 不包含“access_token”。我怎样才能获得“access_token”? 我也不明白为什么 URI 在获取参数字段中包含“#”。因此,我无法从“this.$route.query”中获取 access_token。

【问题讨论】:

【参考方案1】:

最后,我可以用下面的代码做到这一点。

this.$auth.getToken('facebook')

感谢大家观看。

【讨论】:

感谢您提出这个有用的问题。我如何在服务器端使用它?当我在asyncData 中使用此代码时,它返回undefined 试试这个代码。可能你可以使用这个。 asyncData( app ) app.$auth.getToken('facebook') 【参考方案2】:

这对我有用:

this.$auth.strategy.token.get()

来源:github.com/nuxt-community/auth-module

它可能仅适用于dev 版本。

【讨论】:

以上是关于如何从 auth-module、Nuxt.js 获取 access_token的主要内容,如果未能解决你的问题,请参考以下文章

如何在 nuxt.js 中创建动态锚链接?

如何使用 Nuxt.js 从缓存中排除组件?

vue + nuxt.js - 如何读取从外部请求接收到的 POST 请求参数

如何从 nuxt.js 页头的 node_modules 文件夹中引用 js 文件

如何从 nuxt.js 的 assets 文件夹中导入 css 文件

Vue.js 和 Nuxt.js