问题标签 [nuxt-auth]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
731 浏览

nuxt.js - 我应该在哪里存储我的 JWT 令牌,httpOnly 对 cookie 意味着什么?

我阅读了有关身份验证的文档。我在 Nuxt 项目上工作,我的服务器返回一个 cookieHtppOnly

我的问题:

关于 JWT 令牌的存储有很多困惑,有些不建议使用localStroage 我还阅读了我们可以将令牌直接复制到下一个请求的标头中,但我没有找到示例。此外,当 cookie 存在时HttpOnly,由于 JavaScript 无法访问,我们如何使用它?

资源:

0 投票
0 回答
454 浏览

django - 如何使用 Nuxt auth 和 Django 服务器登录 Google

我正在使用 nuxt-auth 来处理基于会话的身份验证,它与本地策略完美配合,但在解决了很多问题(redirect_uri、challenge_code 等)之后,试图使其与 Google 策略配合使用是一场灾难,我目前的问题是,在我选择了一个 Google 帐户后,它会将我重定向到定义的 redirect_uri 并且没有任何反应,nuxt auth 没有调用 api 端点来验证会话密钥。

我试过@ nuxtjs/auth ^4.9.1@nuxtjs/auth-next但没有一个工作。

本地策略只是调用 API 方法并返回一个正确应用的 Set-Cookie 标头,但正如我之前所说,对 API 的调用不是由 Google 策略完成的。

这是我的代码:

nuxt.config.js

}

在我的登录组件中,我使用 loginWith('google') 调用它,它会将我重定向到帐户选择,之后,它将我重定向到localhost:3000并且 URL 具有我需要的参数,之后有必要调用/auth/google并发送id_token接收到的参数来自谷歌,这是缺少的步骤,没有任何反应。

我已经完成了另一个实现,我通过发送Authorization header(授权:'令牌 xxxx')登录我的用户,如果我手动尝试它会工作,但我不知道如何让谷歌将该标题添加到请求中。

我不知道问题是否可能是因为我目前在我的 Google 策略端点中使用令牌选项,但是 nuxt-auth 文档非常差,而且我还没有找到另一个工作密钥。

PD:在我的本地策略中,我使用相对路径,因为我有一个带有 baseURL 的 Axios 实例。

如果您需要更多信息,请告诉我。非常感谢。

0 投票
0 回答
54 浏览

oauth-2.0 - 使用 jira 实现的 Nuxt auth 登录无法更改媒体类型标头

我正在尝试使用nuxt auth ( @nuxtjs/auth-next )在 nuxt js 中使用 jira 实现登录

nuxt 配置使用的是。

根据他们的文档令牌端点将是带有 json 主体的 post 方法。如果响应类型是代码,我们只能设置 url。不幸的是,带有内容类型的 axios 调用application/x-www-form-urlencoded无法更改内容类型标头。这条线编码正在发生,所以内容类型正在改变这个问题有什么解决方案吗?

0 投票
1 回答
292 浏览

oauth - Nuxt auth-next 与 keycloak CORS 问题

版本:

配置:

nuxt.config.js

由于当前版本 nuxt/auth-next 存在问题,我通过扩展 oauth2 创建了一个自定义方案

/plugin/keycloak.js

但是在登录时,浏览器会因为 CORS 而阻止令牌请求。预检指定允许方法的 keycloak 服务器响应是POST, OPTIONS,但 auth-next 用于GET获取令牌。

有什么解决办法吗?

0 投票
1 回答
180 浏览

express - Nuxt Auth 刷新令牌 - 身份验证失败

我使用@nuxtjs/auth-next,我必须有配置问题,但我尝试了多种配置但没有成功。

我将此示例用于服务器部分https://github.com/cornflourblue/node-mongo-signup-verification-api

这是我当前的配置:

回复

饼干

我认为 Cookies 和答案是正确的。怎么了?

0 投票
1 回答
1382 浏览

vue.js - 使用 nuxt-auth 成功认证后如何获取用户信息

我正在使用 nuxt.js,在向后端发送带有电子邮件和密码的登录请求后,我收到包含消息、令牌和用户信息的响应,如何访问响应中的用户信息并将其保存在某个状态成功登录后在 store.js 中?我想使用可能在成功登录后调度的操作将用户对象保存在store/index.jssaveUserAction中的用户状态下,我不知道这是否正确,任何建议都会非常有帮助

回复

登录.vue

存储/index.js

在此处输入图像描述

0 投票
1 回答
546 浏览

javascript - Nuxt 向组件添加属性并在中间件中访问它

我正在尝试为 oidc-client 开发一个与 nuxt 一起使用的插件,因为 @nuxtjs/auth 不适用于我的身份提供者。基本上一切正常,唯一的问题是我需要向组件添加一个自定义属性并在中间件中访问它以检查是否启用了身份验证。我一直在寻找其他插件以获得指导,这就是我最终得到的:

插件/用户管理器.ts

中间件/auth.ts

示例组件

问题在于,在中间件中, if (context.app.auth === false) return 行总是返回 true,因为 context.app.auth 是 undefiend,但组件中有 auth: false 属性。如何从中间件访问 auth 属性?

0 投票
2 回答
716 浏览

vue.js - 在 nuxtjs 中刷新页面后如何保持用户身份验证?

成功登录后,如果我刷新页面,用户不再经过身份验证并loggedIn返回 false,我将 laravel 护照用于 API,将 nuxt.js 用于前端,这是我的第一个 nuxt.js 项目,所以我不知道如何处理,任何建议表示赞赏

login.vue

store/index.js

登录成功后 在此处输入图像描述

刷新页面后 在此处输入图像描述

0 投票
1 回答
137 浏览

javascript - 在 Nuxt auth-module 中设置令牌

我在我的项目中使用Nuxt auth-module。login API 以这种结构返回数据:

在 nuxtconfig 我设置了这样的模块配置:

但令牌没有保存在应用程序中。任何解决方案?

所以我找到了一个解决方案:

0 投票
2 回答
665 浏览

nuxt.js - nuxt 在本地为下一个 JS 身份验证重置密码生成工作正常,但在部署到 plesk 服务器时不能

我有一个 Nuxt JS 应用程序设置来使用Nuxt Auth。这在本地运行良好。

具体来说,我正在生成一封发送给用户的电子邮件,其中包含重置表单密码的链接

http://localhost:3000/reset-password/ca62c3554c8058c9ddf11b709fc451405ffa99f4b22a88d84e087f5b40fb6d1f

当他们单击它时 - 它被解析 JWT 的 nuxt 路由拾取。在本地,我使用 nuxt start 服务它 - 我相信它从 dist 目录服务,因此应该是静态服务的一个很好的测试

当我将它部署到运行 Ubuntu 和 Plesk 以及 Nginx 和 Apache 的远程 lightail 服务器时,我使用 nuxt generate 部署它并将生成的 dist 目录的内容复制到 httpdocs 目录。当遵循相同的工作流程并且用户单击链接时,它不会被 nuxt 生成的静态 html 文件之一捕获,并且我得到 404。所有其他 nuxt 路由正在生成到文件中。我错过了什么?

nuxt.config.js

package.json的脚本部分

我正在使用 npm

阅读周围我可以看到处理动态路由的标准解决方案是更新 nuxt.config.js generate.routes 部分中的配置。如本文所述

这似乎可以通过在生成时从服务器获取所有值来实现。我认为这不适用于身份验证令牌,因为用户可以随时注册 - 特别是在运行 nuxt generate 之后。

重置密码功能

  • 页面
  • 重设密码
  • 索引.vue
  • _token.vue

索引.vue

_token.vue

最终,在 Plesk Apache 上进行这项工作的答案是将 .htaccess 文件添加到与 index.html 相同的目录中。内容为:-

在这里解释