Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从nuxtjs typescript中的auth模块(nuxtjs/auth next)获取access_令牌?_Typescript_Vue.js_Nuxtjs_Nuxt Auth - Fatal编程技术网

如何从nuxtjs typescript中的auth模块(nuxtjs/auth next)获取access_令牌?

如何从nuxtjs typescript中的auth模块(nuxtjs/auth next)获取access_令牌?,typescript,vue.js,nuxtjs,nuxt-auth,Typescript,Vue.js,Nuxtjs,Nuxt Auth,我尝试使用此.$auth.$state.accessToken和此.$route.query.token来获取令牌,但它们不包括任何访问令牌。 另外,用户已成功登录并抛出此。$auth.loginWith('laravelPassportPassword') 然后我尝试用这个方法获取令牌。$auth.strategy.token.get()。它显示以下错误: TS2339:Property 'strategy' does not exist on type 'Auth<any>'.

我尝试使用此.$auth.$state.accessToken和此.$route.query.token来获取令牌,但它们不包括任何访问令牌。 另外,用户已成功登录并抛出此。$auth.loginWith('laravelPassportPassword')

然后我尝试用这个方法获取令牌。$auth.strategy.token.get()。它显示以下错误:

TS2339:Property 'strategy' does not exist on type 'Auth<any>'.
           })
               .then(() => {
               console.log({ token: this.$auth.strategy.token.get() })
                                               ^^^^^^^^   
               this.$router.push('/')
           })
},

login.vue:

import { Vue, Component } from 'vue-property-decorator'
import PageHeader from '~/components/shared/page-header.vue'


export default class Page extends Vue {
username: string = ''
email: string = ''
password: string = ''
confirmPassword: string = ''

private async login (): Promise<void> {
    try {
        const recaptchaToken = await this.$recaptcha.getResponse()
        
        if (recaptchaToken) {
            await this.$auth.loginWith('laravelPassportPassword', {
                data: {
                    username: this.username,
                    password: this.password,
                    captchaToken: recaptchaToken
                }
            })
                .then(() => {

                    console.log({ token: this.$auth.strategy.token.get() })

                    this.$router.push('/')
                })

        }
        await this.$recaptcha.reset()

    } catch (e) {
        console.log(e)

    }
}
从“Vue属性装饰器”导入{Vue,组件}
从“~/components/shared/page header.vue”导入PageHeader
导出默认类页面扩展Vue{
用户名:字符串=“”
电子邮件:字符串=“”
密码:字符串=“”
confirmPassword:字符串=“”
私有异步登录():Promise{
试一试{
const recaptchaToken=等待此消息。$recaptcha.getResponse()
如果(重述查托肯){
等待此消息。$auth.loginWith('laravelPassportPassword'{
数据:{
用户名:this.username,
密码:this.password,
captchaToken:重述captchaToken
}
})
.然后(()=>{
log({token:this.$auth.strategy.token.get()})
这是。$router.push(“/”)
})
}
等待此消息。$recaptcha.reset()
}捕获(e){
控制台日志(e)
}
}
}

我还看到下面的链接:


如何获得“访问令牌”?

最后,我使用通用存储方法获得了访问令牌:

 this.$auth.$storage.getUniversal('_token.laravelPassportPassword')
我想使用nuxt auth docs中看到的一些其他令牌方法,但似乎令牌对象不存在

 this.$auth.$storage.getUniversal('_token.laravelPassportPassword')