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

yos*_*nbo 21 javascript facebook nuxt.js

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

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

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

// pages/login.vue
export default {
   methods: {
       this.$auth.loginWith('facebook')
   }
}
Run Code Online (Sandbox Code Playgroud)

回调URI是这样的。

https://localhost:3000/facebook/oauth_callback/?#access_token=***&data_access_expiration_time=1561715202&expires_in=4398&reauthorize_required_in=7776000&state=MC4xOTU3MDM2ODIxMzIzOTA5OA
Run Code Online (Sandbox Code Playgroud)
// pages/facebook/oauth_callback/index.vue
<template>
  <section>
    <p>{{ this.$auth.$state }}</p>
    <p>{{ this.$route.query }}</p
  </section>
</template>
Run Code Online (Sandbox Code Playgroud)

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

yos*_*nbo 29

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

this.$auth.getToken('facebook')
Run Code Online (Sandbox Code Playgroud)

谢谢大家观看。


Dev*_*hon 8

这对我有用:

this.$auth.strategy.token.get()
Run Code Online (Sandbox Code Playgroud)

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

它可能仅适用于开发版本。