- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我正在使用 NuxtJS 的 $axios
模块,我正在与后端 API 进行交互,该 API 设置为登录后进一步经过身份验证的请求的身份验证 cookie。我查看了 withCredentials: true
,但它仍然不能正常合作。
我是否需要设置特定的 header 值或我的 axios 配置有问题?
我只想保留并使用从成功登录收到的这个 cookie,并在下一个请求中使用它来发出经过身份验证的请求。
// nuxt.config.js
axios : {
...
credentials: true,
withCredentials : true,
requestInterceptor: (config, {store}) => {
config.headers.common['Content-Type'] = 'application/json';
config.headers.common['API-Key'] = 'my_api_key';
return config
},
...
},
这是我发出 axios 请求的地方
async asyncData({ $axios}) {
try {
// this response sends back an authentication cookie
const login_response = await $axios.$post("my_login_route",{
password : this.password,
username : this.email,
});
if(login_response.success){
// how i send my cookie to this route to prove im authenticated?
const authenticated = await $axios.$get("my_url");
console.log(authenticated); // always false; doesn't send cookie recieved in login $post request
}else{
console.log("Invalid username or password");
}
} catch(error) {
console.log(error);
}
}
我制作了一个测试页面,其中包含一个简单的请求以检查用户是否已通过身份验证。 事实证明,nuxt.config.js
中的 axios 设置未在此处应用。
我需要 axios 配置不仅应用于基本 URL,还应用于我的 API 路由。这是一个在我按下测试按钮时激活的测试方法:
check_auth : async function(){
try {
const response = await this.$axios.$get("https://<my_url>/Utility/IsAuthenticated/");
console.log("IS AUTH:");
console.log(response.isAuthenticated);
}catch(error){
console.log("something went wrong.");
}
},
AXIOS 请求的 HTTP 请求 header 就在上面如您所见,我在 axios 配置中没有指定任何 cookie 或 API-Key
header 。
Host: <my_url>
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:67.0) Gecko/20100101 Firefox/67.0
Accept: application/json, text/plain
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Referer: http://localhost:1337/send/account
Origin: http://localhost:1337
DNT: 1
Connection: keep-alive
我需要在我的 axios nuxt.config.js
部分中更改什么以允许 axios 配置应用于我的 api 路由?我需要使用 proxy:{}
部分吗?
请帮忙!!
最佳答案
所以问题毕竟不是 axios。
我正在连接的 API 不允许外部源使用它的 cookie,一些跨源的东西。问题是 axios 在我尝试使用 fetch()
之前没有给出任何关于跨源问题的警告,这是我在控制台中看到关于服务器不允许跨源 cookie 的警告之类的,然后开始做研究。
相关:
How to enable cross-origin resource sharing (CORS) in the express.js framework on node.js
https://github.com/axios/axios/issues/853
感谢到目前为止评论中的帮助,但从外观上看,axios 库几乎没有解决这个问题,因为它是一种广泛的内置浏览器安全性。
如果有人对在浏览器的客户端端有其他建议或答案,请与我们分享。
关于javascript - NuxtJS $axios 使用请求发送 Cookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56744269/
整个分析的新手,我发现这非常困惑 我想在我的 nuxt ssr webapp 中使用 Google Analytics 4,但我对众多选项感到不知所措 Quick issue on nuxtjs/go
图像文件是否必须保存在nuxtProject的静态文件夹中?相反,它将使用 axios 保存在后端服务器中。抱歉,我无法提供示例代码,因为我对此一无所知。计划是将保存在静态文件夹中并将前端 url 发
我认为这方面有很多问题。但是没有正确答案。如何查看生产模式错误日志的详细信息? 最佳答案 Nuxt 在 nuxt.config.js 文件中提供了一个标志来启用生产调试 { debug: true
我正在使用我在下面添加的部署脚本部署我的 NuxtJS 应用程序。我使用了本教程中的一些说明:https://www.digitalocean.com/community/tutorials/how-
大家好! 我面临着一个我找不到解决方法的大问题。 简而言之 - 我希望能够生成以前未知长度的多级路由来创建过滤器。 更多详情有一个网站site.com 它有部分:site.com/news、site.
我将我应该在我的 Nuxt 应用程序中使用的模板的所有文件(css、js、图像等。)添加到 assets/theme 文件夹中。有 assets 文件夹结构: 在 assets/theme/sass/
好吧,我从 nuxt 开始,我有以下路线: /home /dashboard /login 我想保护 /dashboard,但仅限于使用 Cookie 中的 token 登录的用户。 然后我创建了一个
调用 $auth.loginWith('google') 后,我得到 http://localhost:3000/ru/user-registration#state=D7xooLsNNxNGfbvc
我有一个网站,比如说 example.com它与子域 blog.example.com 共享布局和少量组件所以我想为此创建通用的nuxtJS项目,以便nuxtJS优化路由和所有东西,我不想为此创建2个
基本上我需要将脚本添加到我的 index.html 的头部, 所以我试过的是...... 在我的 nuxt.config.js 中 head: { script: [ {
我在 Nuxt 项目中使用 vuetify 时遇到问题,我按照文档说明您只需将 @nuxtjs/vuetify 依赖项安装到您的项目中,并在 中添加一行nuxt.config.js 文件的 >buil
我正在使用 NuxtJs auth module处理我在州内的授权。对于身份验证,我写了一个有效的 express api。 我的 nuxt.config.js 中有以下配置: axios: {
我最近使用js的moment函数来vue。 但它不起作用。 这是说那个时刻没有定义。 我在这里寻找解决方案,但其中任何一个都不适合我。 如何在 nuxt 中使用时刻? import moment f
我是 Vue 和 NuxtJs 的新手。我正在尝试使用 NuxtJs 构建网络摄像头,但遇到了一些问题 Take Photo
我正在使用 NuxtJS 的 AsyncData 方法从 API 获取视频文件,然后作为文件对象返回到页面。 像这样: async AsyncData({$axios}){ var user_
无法使用 nuxt-community 的 Firebase 模块链接从 Firebase 实时数据库读取/检索数据 here 。已经在 nuxt.config.js 文件中添加了我的 firebas
我的 NuxtJS 应用程序中有一个接受查询参数的路由。我正在尝试实现一种允许用户更改查询参数并重新加载页面的逻辑。 我试过: // this does not work because I'm al
我的 NuxtJS 应用程序中有一个接受查询参数的路由。我正在尝试实现一种允许用户更改查询参数并重新加载页面的逻辑。 我试过: // this does not work because I'm al
在服务器渲染代理工作正常。请求将发送至 custom-server.com/v1/places。但在浏览器中请求将转到 current-domain.com/api/places 为什么它在浏览器中不
当我尝试在 nuxtjs 中获取一些数据时显示此错误 Cannot read property '_normalized' of undefined 这是我在 nuxtjs 中的 axios 请求:
我是一名优秀的程序员,十分优秀!