美文网首页
安全验证中token如何放在请求头中传输的解决方法

安全验证中token如何放在请求头中传输的解决方法

作者: 龙_9b58 | 来源:发表于2020-05-27 17:15 被阅读0次

安全验证中token如何放在请求头中传输的解决方法

前几天做flutter项目的时候网络请求都没有问题,封装网络请求什么都ok,都是用的开源的api,想着用到实战中吧,就把现有的项目直接调用试试,发现一直都是token失效,获取不到最新的token,debug一圈之后发现获取token的请求,返回提的header中的请求头和传递过去的基本上一样,后台返回来的token没有获取到,或者说根本就没有这个字段,一直在考虑是哪里封装的有问题?毕竟是新的东西刚接触不就嘛,一直找问题,扒博客,发现一个词 “跨域”,就开始找扒拉,发现有一篇文章有提到摘抄记录整理一下。

问题所在:在网上扒了半天博客,发现问题出在后端,没错这是一个后端问题。因为跨域,后台就不会接收一切非官方的请求头,而前端也无法获取一切非官方的响应头。解决办法很简单,后台只需要对请求头和响应头的自定义字段进行声明就行了。

代码:后台代码其实是不一样的,我们后台使用了spring boot框架,所以是这种写法。

  corsConfiguration.addAllowedOrigin("*"); // 1 设置访问源地址         

  corsConfiguration.addAllowedHeader("token"); // 2 设置访问源请求头   corsConfiguration.addAllowedMethod("POST,GET"); // 3 设置访问源请求方法         

  corsConfiguration.setMaxAge(1800000L);//间隔30分钟验证一次是否允许跨域

response.setHeader("Access-Control-Expose-Headers","Cache-Control,Content-Type,Expires,Pragma,Content-Language,Last-Modified,token");

response.setHeader("token", JwtToken.createToken(user.getId())); //设置响应头

注意第二段代码标红的那句,网上很多教程都写的是access-control-allow-headers,这其实是错的。

这个问题虽然是一个后台问题,但是在前后端交互过程中发现的,并且我一度认为是我的问题。所以把它记录了下来,也算是见证我的成长吧。

发不出来让看到的朋友们,尤其是没有后台基础或者flutter刚接触的人提个醒,不需要纠结,也可以节省不少时间

相关文章

  • 安全验证中token如何放在请求头中传输的解决方法

    安全验证中token如何放在请求头中传输的解决方法 前几天做flutter项目的时候网络请求都没有问题,封装网络请...

  • 防御CSRF攻击

    防御CSRF攻击主要有三种策略:验证HTTP Referer字段,在请求地址中添加token并验证,在HTTP头中...

  • 如何书写带token的请求头。

    如何用axios书写请求头,带token。 token可以放在请求头里,也可以放在body中。如何放的位置不对,就...

  • jmeter正则取多个参数

    场景:用户登录请求之后返回token和userId值,在下一个请求中,消息头中要用到token,请求参数中要用到u...

  • Laravel在使用VUE或Ajax验证Token时返回Null

    在发送token的请求头中,token的格式应为 “Bearer ” + token 注意:Bearer后面有个空格

  • token简介

    Token 是什么 Token 本质是字符串,用于请求时附带在请求头中,校验请求是否合法及判断用户身份 Token...

  • 约定

    所有需要权限验证的接口,userId字段通过token获取,不需要请求参数或请求消息体传输 接口名称以(0)结尾,...

  • django Authorization token

    请求头中增加: 问题: 'Token' has no attribute 'DoesNotExist' 原因:没有...

  • SpringBoot 中如何自定义参数解析器?

    在一个 Web 请求中,参数我们无非就是放在地址栏或者请求体中,个别请求可能放在请求头中。 放在地址栏中,我们可以...

  • OAuth2 Token 一定要放在请求头中吗?

    Token 一定要放在请求头中吗? 答案肯定是否定的,本文将从源码的角度来分享一下 spring security...

网友评论

      本文标题:安全验证中token如何放在请求头中传输的解决方法

      本文链接:https://www.haomeiwen.com/subject/xefgahtx.html