登录/注销/中间件等本身可以工作,但我似乎无法控制令牌。我尝试在登录后将JWT保存在Vuex存储中,但令牌仅保存在cookie和localStorage中。从文档中我了解到,Vuex中对身份验证的支持是自动添加的。我没有在配置中定义tokenRequired
和tokenType
,因为它们是基于cookie的流所需要的文档(添加它们也不会改变任何事情)。
nuxt.config.js
modules: [
'@nuxtjs/axios',
'@nuxtjs/auth'
],
axios: {
baseURL: 'https://api.example.com/'
},
router: {
middleware: ['auth']
},
auth: {
strategies: {
local: {
endpoints: {
login: { url: 'login', method: 'post', propertyName: 'token' },
logout: { url: 'logout', method: 'post' },
user: false
}
}
},
redirect: {
login: '/login',
logout: '/',
callback: '/login',
home: '/'
}
},
登录功能
await this.$axios.post('authenticate', {
email: this.email,
password: this.password
}).then(response => {
if (response.success === 'true') {
this.$auth.setUserToken(response.token)
} else {
//alert invalid login
}
}).catch(error => {
//alert server error
});
现在,当我成功登录并查看$auth时$声明它返回
{ "user": {}, "loggedIn": true, "strategy": "local" }
我希望令牌也保存在$auth
中。
我也看了一个标题相似的问题,但是他们的解决方案不适合我,因为我使用的是user: false
。
我查看了auth模块的默认值。js
文件,并尝试在mynumxt中使用默认值。配置。js
。在将默认值添加到我的配置中后,它开始工作。所以现在我可以禁用cookies和localStorage,同时只将JWT保存到store中。
auth: {
strategies: {
local: {
endpoints: {
login: { url: 'login', method: 'post', propertyName: 'token' },
logout: { url: 'logout', method: 'post' },
user: false
}
}
},
redirect: {
login: '/login',
logout: '/',
callback: '/login',
home: '/'
},
cookie: false,
localStorage: false,
token: {
prefix: 'token.'
},
},
和$auth.$state
返回
{ "user": {}, "loggedIn": true, "strategy": "local", "token.local": "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c" }
如果有人解释为什么默认值不起作用,为什么我必须将其包含在我的配置中,请让我知道。我假设由于某种原因,他们默认禁用了Vuex保存?即使留档状态可以被解释为默认令牌被保存在三个位置。
身份验证令牌存储在各种存储提供程序中(cookie、localStorage、vuex)
早上好,我正在从事一个vue项目,该项目在应用程序中同时使用vue路由器和vuex。只要登录成功,我就会将JWT令牌存储在vuex中。然而,我对以下几点感到困惑 1) 当路由器中的路由发生变化时,动态显示/隐藏我的导航栏中的登录/注销按钮2)访问vuex存储中的JWT令牌。js 因此,基本上我需要访问路由器中的vuex存储,以及如何在vuex状态更改时(即登录成功时)更新导航栏组件 下面是我的代码
我目前正在尝试用VueJS将一个VueJS页面转换为NuxtJS。不幸的是,我有一些问题与认证的用户,我不能找到解决方案在谷歌。我只对客户使用Nuxt。API在express中是完全独立的,并且与现有的VueJS站点一起工作。 在Nuxt中,我现在用Auth模块向express服务器/API发送一个带有用户名和密码的请求。Api接收数据,对其进行检查,并在MongoDB中找到帐户。这完全是它应该做
我们有一个在线商店,在三个表中存储产品详细信息: 产品(名称、描述、品牌)-总计10,000个条目 产品-变体(大小、价格、可用性)-总计80.000项 产品-属性(颜色)-总计60.000项 这给出了大约400.000项的总组合。 示例: 产品为“Nike Air Max” 变体是“尺寸36,70美元”、“尺寸37,72美元”、“尺寸38,74美元” 属性为“Color Red”和“Color
问题内容: 我想弄清楚在使用python的turtle模块创建图形后如何保存位图或矢量图形图像。经过一番谷歌搜索后,我找不到一个简单的答案。我确实找到了一个名为canvas2svg的模块,但是我对python还是很陌生,我不知道如何安装该模块。有一些内置的方法可以保存乌龟画布的图像吗?如果没有,我应该在Ubuntu机器上哪里放置python的自定义模块? 问题答案: 这将为您提供帮助;我遇到了同样
我在vue文件中的“方法”中有这个 我得到以下错误:未捕获(在promise中)TypeError:无法读取未定义的属性'$store'
我使用Laravel 5与CACHE_DRIVERredis。我发现 /storage/framework/views/.下还有Views缓存文件是否可以在redis中存储视图缓存?我认为它会加快网站的速度。谢谢!