首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为什么在每次请求时只刷新令牌是个坏主意?

在每次请求时只刷新令牌是个坏主意,原因如下:

  1. 安全性问题:令牌是用于验证用户身份和授权访问的凭证。如果每次请求都只刷新令牌,那么在刷新期间,令牌可能会被截获或篡改,从而导致安全漏洞。相反,使用定期刷新令牌的方式可以减少令牌被攻击者利用的风险。
  2. 用户体验问题:每次请求都刷新令牌会增加请求的延迟,因为刷新令牌需要与认证服务器进行通信。如果用户的请求频率很高,这种延迟可能会对用户体验产生负面影响。相反,使用定期刷新令牌可以在一定程度上平衡安全性和用户体验。
  3. 认证服务器压力问题:如果每次请求都刷新令牌,认证服务器将面临更大的负载压力。认证服务器需要处理大量的令牌刷新请求,可能导致性能下降或服务不可用。相反,使用定期刷新令牌可以减轻认证服务器的压力,提高系统的可伸缩性。

综上所述,每次请求时只刷新令牌是一个坏主意,因为它存在安全性问题、用户体验问题和认证服务器压力问题。相反,使用定期刷新令牌的方式可以更好地平衡安全性和用户体验,并减轻认证服务器的负载压力。

相关搜索:如何强制页面在每次访问时只刷新一次laravel请求周期是否在每次页面刷新时重复?Axios在刷新时发出2个请求为什么使用Session在高流量网站中存储状态是个坏主意?为什么我的会话在包含刷新令牌时为空?为什么我在页面刷新时收到网络错误?(get请求)Wordpress:在每次页面刷新时显示三个随机帖子为什么我的AJAX请求在dev中是PUT请求,而在运行测试时是GET请求?为什么Wordpress的wp-cron只在每次页面加载时检查计划?在计算树木直径时,为什么只计算高度是不够的ASP.NET Core2.1API JWT令牌Session.id在每次请求时都会更改为什么hikari连接池在同时接收多个请求时只使用1到2个连接?为什么我需要刷新一个令牌,如果我使用的是一个带有pydrive的服务帐户?Flask是只在服务器上加载一次,还是每次有人访问站点时加载?如何使刷新令牌的有效期更长,并在spring refresh_token oauth2中每次出现新的安全grant_type时发出一个新的刷新令牌为什么在页面刷新和页面访问时按钮被认为是按下的?如何创建“全局”作用域变量,这些变量只在一个请求期间是全局的?为什么在使用授权密码和授权码请求令牌时,我得不到相同的声明?我正在尝试在每次碰撞时都有一个反弹动画。它只触发一次为什么我的Spring webflux应用程序在每次请求时都会生成临时文件?
相关搜索:
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

解决Django提交表单报错:CSRF token missing or incorrect的问题

视图函数将一请求传递给模板的呈现方法。 模板中,每个POST表单中都有一{% csrf_token %}模板标记,目标内部URL。...该表单有一有效的CSRF令牌登录另一浏览器选项卡或登录后单击back按钮之后,您可能需要使用表单重新加载页面,因为登录后令牌会旋转。...每次刷新页面的时候<input 中的csrf的value都会更新,每次重复登录的时候cookie的csrf令牌都会刷新,那么这两csrf-token有什么区别? ?...这样子看起来似乎没毛病,但是评论中的第三问题,每次刷新页面,form表单中的token都会刷新,而cookie中的token却只每次登录刷新。...同样也不难解释,为什么ajax请求,需要从cookie中拿取token添加到请求头中。

4.8K30

你确定懂OAuth 2.0的三方软件和受保护资源服务?

就需要刷新令牌刷新令牌需注意何时决定使用刷新令牌xx排版软件收到访问令牌同时,也会收到访问令牌的过期时间 expires_in。...即比如xx访问我的公众号文章,突然收到一访问令牌失效的响应,此时xx立即使用 refresh_token 请求访问令牌,以便继续代表我使用我的这些文章数据。...刷新令牌一次性的,使用后就失效,但它的有效期会比访问令牌长。 若刷新令牌也过期呢? 需将刷新令牌和访问令牌都放弃,几乎回到系统初始状态,只能让用户重授权。...互联网上的系统之间的通信,基本都是以 Web API 为载体的形式进行。授权服务最终保护的就是这些 API。构建受保护资源服务,除检查令牌的合法性,更关键权限范围。校验权限的占比大。...为解决这问题,应有统一网关层处理校验,所有请求都会经过 跳转到不同受保护资源服务。如此无需每个受保护资源服务上都做权限校验, API GATEWAY 做即可。

1.2K10
  • 从0开始构建一Oauth2Server服务 单页应用

    弃用通知 单页应用程序的一常见历史模式使用隐式流程重定向中接收访问令牌,而无需中间授权代码交换步骤。这有许多安全问题,如隐式流程所述,不应再使用。...在这种情况下,应用程序的服务器永远不会向服务发出 API 请求,因为一切都直接在浏览器中处理。 授权 授权代码临时代码,客户端将用它来交换访问令牌。...您的应用应该将状态与其初始请求中创建的状态进行比较。这有助于确保您交换您请求的授权码,防止者使用任意或窃取的授权码重定向到您的回调 URL。...也几乎不需要刷新令牌,因为 JavaScript 应用程序只会在用户积极使用浏览器时运行,因此它们可以需要重定向到授权服务器以获取新的访问令牌。...具体来说,刷新令牌必须仅对一次使用有效,并且授权服务器必须在每次发布新的访问令牌以响应刷新令牌授予发布一新的刷新令牌

    19930

    浅谈浏览器的缓存机制

    浏览器有缓存的,做开发的同学都知道浏览器缓存是非常蛋疼的问题,特别是前端开发的同学,明明改了为什么还没有生效,经常要去清理浏览器的缓存,或者禁用浏览器的缓存功能。...我们知道浏览器中按F5刷新页面,CTRL+F5强制刷新页面,这两有什么区别呢? F5刷新会使用浏览器的缓存。...CTRL+F5刷新不会使用缓存的,每次请求都会请求服务器的最新资源,它的原理就是在请求头上加上一些参数告诉服务器要获取最新的资源。...当使用普通刷新,浏览器在请求之前会检查Expires这个值,如果Expires时间小于当前时间说明缓存已经失效,重新发起获取资源。...max-age 缓存的内容将在 xxx 秒后失效, 这个选项HTTP 1.1可用, 并如果和Last-Modified一起使用时, 优先级较高 Cache-control这个参数在所有浏览器中兼容性很好

    75080

    从0开始构建一Oauth2Server服务 发起认证请求

    如果你想知道你的访问令牌是否已经过期,你可以存储你第一次获得访问令牌返回的到期生命周期,或者只是尝试发出请求,如果当前一已经过期了。实际上,没有太大区别。...虽然这是一非常好的优化,但它不会阻止您仍然需要处理如果访问令牌预期时间之前过期 API 调用失败的情况。...,并且可以选择一新的刷新令牌,就像您在将授权代码交换为访问令牌收到的一样。...最安全的选择授权服务器每次使用刷新令牌发出一新的刷新令牌。这是最新的安全最佳当前实践中的建议,它使授权服务器能够检测刷新令牌是否被盗。...当刷新令牌每次使用后发生变化时,如果授权服务器检测到刷新令牌被使用了两次,则意味着它可能已被复制并被Attack者使用,授权服务器可以撤销所有访问令牌和相关的刷新令牌立即使用它。

    17630

    小程序前后端交互使用JWT

    为什么使用JWT?   首先,这不是一必选方案。有时候我们的API其它服务端和小程序公用的,那么就涉及到安全验证的问题了。   ...添加到请求头里 服务器解码JWT,并且如果令牌有效,则接受请求 一旦用户注销,令牌将在客户端被销毁,不需要与服务器进行交互一关键令牌无状态的。...例如你payload中存储了一些信息,当信息需要更新,则重新签发一JWT,但是由于旧的JWT还没过期,拿着这个旧的JWT依旧可以登录,那登录后服务端从JWT中拿到的信息就是过时的。...最简单的一种方式每次请求刷新JWT,即每个http请求都返回一新的JWT。这个方法不仅暴力不优雅,而且每次请求都要做JWT的加密解密,会带来性能问题。...另一种方法redis中单独为每个JWT设置过期时间,每次访问刷新JWT的过期时间。

    1.7K41

    OAuth 详解 什么 OAuth?

    基本身份验证仍然用作服务器端应用程序 API 身份验证的原始形式:用户发送 API 密钥 ID 和密码,而不是每次请求向服务器发送用户名和密码。...它们客户端在请求令牌要求的权限包。这些由应用程序开发人员在编写应用程序时编码。 ? 范围将授权策略决策与执行分离。这是 OAuth 的第一关键方面。权限最重要的。...每次刷新访问令牌,您都会获得一新的加密签名令牌。密钥轮换内置于系统中。 OAuth 规范没有定义令牌是什么。它可以是您想要的任何格式。...因为 SAML 断言短暂的,所以此流程中没有刷新令牌,您必须在每次断言过期继续检索访问令牌。 不在 OAuth 规范中,Device Flow。没有网络浏览器,只有电视之类的控制器。...当人们问您是否支持 OAuth ,您必须澄清他们的要求。他们问您是否支持所有六流程,还是支持主要流程?所有不同的流程之间都有很多可用的粒度。 安全与企业 OAuth 的应用范围很广。

    4.5K20

    OAuth 2.0中,如何使用JWT结构化令牌

    JWT 结构化令牌 JSON Web Token(JWT)开放标准(RFC 7519),它定义了一种紧凑的、自包含的方式,用于作为 JSON 对象各方之间安全地传输信息。...第三,使用 JWT 格式的令牌,有助于增强系统的可用性和可伸缩性。这种 JWT 格式的令牌,通过“自编码”的方式包含了身份验证需要的信息,不再需要服务端进行额外的存储,所以每次请求都是无状态会话。...缺点: 没办法使用过程中修改令牌状态 (无法在有效期内停用令牌) 解决: 一,将每次生成 JWT 令牌的秘钥粒度缩小到用户级别,也就是一用户一秘钥。...一般情况下,这种方案需要配套一单独的密钥管理服务。 二不提供用户主动取消授权的环境里面,如果考虑到修改密码的情况,那么我们就可以把用户密码作为 JWT 的密钥。当然,这也是用户粒度级别的。...第二种情况, 访问令牌失效之后可以使用刷新令牌请求新的访问令牌来代替失效的访问令牌,以提升用户使用第三方软件的体验 第三种情况,就是让第三方软件比如小兔,主动发起令牌失效的请求,然后授权服务收到请求之后让令牌立即失效

    2.2K20

    Ajax技术全解(3)

    如果在此案中应用Ajax后,结果就会有所改观: 初始化页面我们只读出它的第一级的所有数据并显示,在用户操作一级菜单其中一项,会通过Ajax向后台请求当前一级项目所属的二级子菜单的所有数据,如 果再继续请求已经呈现的二级菜单中的一项...,再向后面请求所操作二级菜单项对应的所有三级菜单的所有数据,以此类推……这样,用什么就取什么、用多少就取 多少,就不会有数据的冗余和浪费,减少了数据下载总量,而且更新页面不用重载全部内容,更新需要更新的那部分即可...任何要求具备很高交互性数据操纵的场合都应该用JavaScript,而不是用一系列的服务器请求来完成。每次数据更新后,再对其进行查找和处理需要耗费较多的时间,而Ajax可以加速这个过程。...3.基本的导航 使用Ajax来做站点内的导航坏主意为什么不把时间放在让系统程序作的更好上呢?...4.替换大量的文本 使用Ajax可以实现页面的局部刷新,但是如果页面的每个部分都改变了,为什么不重新做一次服务器请求呢? 5.对呈现的操纵 Ajax看起来像是一纯粹的UI技术,但事实上它不是。

    1.7K30

    开发中需要知道的相关知识点:什么 OAuth?

    基本身份验证仍然用作服务器端应用程序 API 身份验证的原始形式:用户发送 API 密钥 ID 和密码,而不是每次请求向服务器发送用户名和密码。...它们客户端在请求令牌要求的权限包。这些由应用程序开发人员在编写应用程序时编码。 范围将授权策略决策与执行分离。这是 OAuth 的第一关键方面。权限最重要的。...每次刷新访问令牌,您都会获得一新的加密签名令牌。密钥轮换内置于系统中。 OAuth 规范没有定义令牌是什么。它可以是您想要的任何格式。...因为 SAML 断言短暂的,所以此流程中没有刷新令牌,您必须在每次断言过期继续检索访问令牌。 不在 OAuth 规范中,Device Flow。没有网络浏览器,只有电视之类的控制器。...当人们问您是否支持 OAuth ,您必须澄清他们的要求。他们问您是否支持所有六流程,还是支持主要流程?所有不同的流程之间都有很多可用的粒度。 安全与企业 OAuth 的应用范围很广。

    23640

    Restful安全认证及权限的解决方案

    JWT的优势:  无状态,可以无限水平扩展  可重用,可以多语言多平台多域中使用  安全性高,由于没有使用Cookie,因此可以防止跨站请求伪造(CSRF)攻击  性能好,验证令牌并解析其内容...7.用户注销,服务端需要把还在时效内的Token保存到Redis中,并设置正确的失效时长。  ? 四、实际环境中如何使用JWT  1.Web应用程序  令牌过期前刷新令牌。...如设置令牌的过期时间为一星期,每次用户打开Web应用程序,服务端每隔一小生成一令牌。如果用户一多星期没有打开应用,他们将不得不再次登录。 ...2.移动应用程序  大多数移动应用程序用户进行一次登录,定期刷新令牌可以使用户长期不用登录。  但如果用户的手机丢失,则可提供一种方式由用户决定撤销哪个设备的令牌。...缓存中不保存Token,而是保存一计数,每次更换Token,计数加1,这个计数的值会跟用户ID一起加密后保存在新生成的Token中,返回给用户,用户每次访问携带这个Token。

    2.8K50

    你真的深知JWT(JSON Web Token)了吗?

    JWT令牌的缺陷 无法使用过程中修改令牌状态。 比如我使用xx,可能因为莫须有原因修改了公众号平台的密码或突然取消了给xx的授权。这时,令牌状态就该有变更,将原来对应令牌置无效。...但使用JWT每次颁发的令牌都不会存在服务端,无法改变令牌状态。这表示JWT令牌在有效期内畅通无阻。 那么可以把JWT令牌存储分布式内存数据库比如Redis中吗? NO!...这违背JWT意义 - 将信息结构化存入令牌本身。通常有两种方案: 将每次生成JWT令牌的秘钥粒度缩小到用户级别,即一用户一秘钥 如此,当用户取消授权或修改密码,可让该密钥一起修改。...该过程不排除主动销毁令牌的可能,比如令牌被泄露,授权服务可让令牌失效。 访问令牌失效后可使用刷新令牌请求令牌,提高用户使用三方软件的体验。...比如用户和三方软件间存在一种订购关系:我购买了xx软件,那么到期或退订且我授权的token还未到期情况下,就需这样一种令牌撤回协议,支持xx主动发起令牌失效请求

    1.1K10

    JWT双令牌认证实现无感Token自动续约

    JWT 概念 JSON Web Token (JWT)开放标准(RFC 7519) ,它定义了一种紧凑和自包含的方式,用于作为 JSON 对象各方之间安全地传输信息。...后续每次请求都会将此access_token放在请求头中传递到后端服务,后端服务会有一过滤器对access_token进行拦截校验,校验access_token是否过期,如果access_token过期则会让前端跳转到登录页面重新登录...例如:access_token有效期2h,用户一直使用客户端考试,使用的过程中,access_token到期跳转到登录页面邀请重新登录。心里想说什么垃圾系统,过了2小时又要重新登录!...用户初次认证,Refresh Token 会和AccessToken 一起返回。...这样显然体验不好,接下来实现用refresh_token来刷新获取新的访问令牌access_token 通过调用刷新令牌refreshToken()方法来获取最新的访问令牌access_token 刷新令牌伪代码参考

    27820

    OAuth2.0实战(三)-使用JWT

    6.3 增强系统可用性和可伸缩性 JWT令牌,通过“自编码”方式包含身份验证需信息,不再需要服务端额外存储,所以每次请求都是无状态会话。...比如我使用xx,可能因为莫须有原因修改了公众号平台的密码或突然取消了给xx的授权。这时,令牌状态就该有变更,将原来对应令牌置无效。...但使用JWT每次颁发的令牌都不会存在服务端,无法改变令牌状态。这表示JWT令牌在有效期内畅通无阻。 那么可以把JWT令牌存储分布式内存数据库比如Redis中吗? NO!...这违背JWT意义 - 将信息结构化存入令牌本身。通常有两种方案: 将每次生成JWT令牌的秘钥粒度缩小到用户级别,即一用户一秘钥 如此,当用户取消授权或修改密码,可让该密钥一起修改。...该过程不排除主动销毁令牌的可能,比如令牌被泄露,授权服务可让令牌失效。 访问令牌失效后可使用刷新令牌请求令牌,提高用户使用三方软件的体验。

    1.2K20

    8种至关重要OAuth API授权流与能力

    微信公众平台的相关信息可以看作由腾讯创建但属于公众号运营者所有的资源,而在运营者获取相关信息或进行操作仍旧需要采用授权的方式来确认安全性。 ? 客户凭证流:客户端根据令牌端点进行身份验证。...它规范中指定以便处理遗留或迁移系统的案例。使用ROPC必须小心谨慎。一例子可以是企业级桌面应用程序,这类应用不经常更新,但仍需要访问API平台。...我们不建议使用它,但是如果您真的需要的话:这个流适用于私有客户端,并且客户端可以获得一刷新令牌。...由于移动应用程序通过应用程序商店分发的,因此很难给它们一唯一标识的证书,因此移动客户端通常被标记为公共的客户端。DCR尝试对此进行弥补的方式,客户端自我注册,以及安装请求唯一的凭据。...则对这一刷新令牌X的撤销操作不会有任何后续效果。 参见http://t.cn/Ewtcr8X 五、为什么区分OAuth流很重要 OAuth中似乎有很多类似的流,但是每个流都有其特定的用例。

    1.6K10

    授权服务如何颁发授权码和访问令牌的?

    授权服务如何生成访问令牌? 访问令牌过期了而用户又不在场的情况下,又如何重新生成访问令牌? 授权服务的工作过程 xx让我去公众号开放平台给它授权数据,你是否好奇?开放平台怎么知道 xx 谁?...咱们上节课讲过,授权码许可类型中,授权服务的工作,可以划分为两大部分,一颁发授权码code,一颁发访问令牌access_token。 ?...第四步,验证权限范围(第二次) 步骤二生成授权页面前授权服务进行的第一次校验,对比xx请求的权限范围和注册的权限。 为什么又要校验一次 因为这相当于一次用户的输入权限。...刷新令牌初衷访问令牌失效,为了不让用户频繁手动授权,通过系统重新请求生成一新的访问令牌。...使用刷新令牌 OAuth 2.0规范中,刷新令牌一种特殊的授权许可类型,嵌入授权码许可类型下的一种特殊许可类型。

    2.8K20

    REST API 的安全认证,从 OAuth 2.0 到 JWT 令牌

    现在假设每秒有 3k 请求 Facebook 的系统中每秒 300k 请求更现实。将这请求乘以四,结果每秒要向服务器发出 12k 次调用。 ?...,这是一访问权限令牌刷新令牌。...访问令牌用于访问系统中的所有服务。到期后,系统使用刷新令牌生成一对新的令牌。所以,如果用户每天都进入系统,令牌也会每天更新,不需要每次都用用户名和密码登录系统。...刷新令牌也有它的过期时间(虽然它比访问令牌长得多),如果一用户一年没有进入系统,那么很可能会被要求再次输入用户名和密码。...当你要从 Amazon 请求某些资源,你可以获取到所有相关的 http 头信息,使用这个私钥对其进行签名,然后将签名的字符串作为 header 发送。 服务器端,亚马逊也有你的访问密钥。

    2.8K30

    浏览器中存储访问令牌的最佳实践

    问题,如何在JavaScript中获取这样的访问令牌?当您获取一令牌,应用程序应该在哪里存储令牌,以便在需要将其添加到请求中?...它是一用于浏览器中异步存储大量数据的API。但是,存储令牌,这个浏览器API提供的功能和容量通常不是必需的。由于应用程序每次API调用中都发送令牌,最好使令牌的大小最小化。...另一关键属性Secure标志,它确保cookie仅通过HTTPS发送,以减轻中间人攻击。 其次,颁发短暂的几分钟内有效的访问令牌。...第四,发送API凭据要限制性强。向需要API凭据的资源发送cookie。这意味着确保浏览器实际需要访问令牌的API调用中添加cookie。...最后,使用刷新令牌,请确保将它们存储自己的cookie中。没有必要在每个API请求中都发送它们,所以请确保不是这种情况。刷新令牌必须只刷新过期的访问令牌添加。

    21910

    ThinkPHP5.1表单令牌Token失效问题的解决

    前言 ThinkPHP出于安全的考虑增加了表单令牌Token,由于通过Ajax异步更新数据仅仅部分页面刷新数据,就导致了令牌Token不能得到更新,紧接着的第二次新建或更新数据(提交表单)失败——不能通过令牌的验证...在网上搜寻了很多,有好几种方法;看完觉得有一最好: Ajax异步动态请求创建新令牌并更新到本地 主要思路:每次发送表单结束后(不管成功与否)通过Ajax异步请求新的表单令牌并保存到表单隐藏域中...V2.5.0.png 主要分成三步: 第一步:Index控制器下创建生成Token的方法 之所以选择Index控制器下创建,主要考虑整个admin(后台)可以方便的引用该方法,不需要每次都根据控制器找寻相应的方法...页面第一次加载令牌Token随着页面分配的,后面的令牌就是通过Ajax获取的! <!...举例,下面的示例代码提交后不管成功与否都申请了新的令牌

    1.9K41
    领券