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

是否仅在刷新页面时令牌过期时注销?为什么?

令牌过期是一种常见的身份验证机制,它用于保护用户的数据和资源免受未经授权的访问。刷新页面时令牌过期后注销是其中一种处理方式,但并不是唯一的方式,具体是否仅在刷新页面时令牌过期时注销取决于应用程序的设计和业务需求。

令牌过期后注销的优势:

  1. 安全性:令牌过期后注销可以降低未经授权的访问风险。通过及时注销令牌,可以确保即使令牌被窃取,攻击者也无法再次使用该令牌进行访问。
  2. 用户体验:刷新页面时令牌过期后注销可以提供更好的用户体验。用户在访问应用程序时,如果发现令牌已过期,可以及时得到提示并重新进行身份验证,避免了在使用过期令牌时遇到的访问错误或异常。

然而,是否仅在刷新页面时令牌过期时注销也取决于应用程序的具体需求和设计决策。以下情况可能导致仅在刷新页面时令牌过期时注销不是理想选择:

  1. 长时间空闲:如果用户长时间不与应用程序交互,仅在刷新页面时令牌过期时注销可能无法及时保护用户数据和资源。在此情况下,可以考虑通过定时注销策略主动使令牌失效,以增加安全性。
  2. 需要持久访问:某些应用场景可能需要长时间持久访问,例如长时间的任务执行或长期的记住我功能。在这种情况下,仅在刷新页面时令牌过期时注销可能不适用,可以考虑延长令牌的有效期或引入其他机制来管理令牌的生命周期。

综上所述,刷新页面时令牌过期后注销是一种常见的处理方式,但是否仅采用这种方式取决于具体的应用程序需求和设计决策。在设计过程中,开发者应综合考虑安全性、用户体验以及其他相关因素来确定最合适的令牌管理策略。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

构建Vue项目-身份验证

登录授权之后,将重定向到他们登录之前尝试访问的页面。对于登录视图,它仅在用户未登录才可访问,因此我们添加了一个名为onlyWhenLoggedOut的元字段,设置为true。...补充:如何刷新过期的访问令牌? 关于身份验证,要处理令牌刷新或401错误(token失效)比较困难,因此被许多教程所忽略。...在某些情况下,最好是在发生401错误时简单地注销用户,但是让我们看看如何在不中断用户体验的情况下刷新访问令牌。这是上面提到的代码示例中的401拦截器。...如果是,则我们正在检查401是否令牌刷新调用本身上发生(我们不想陷入循环中) 永久刷新令牌!)。然后,代码将刷新令牌并重试失败的请求,并将响应返回给调用方。...PS:您可以简单地检查页面加载的到期时间,然后也刷新令牌,但这不适用于用户根本不刷新页面的长期会话。 欢迎访问http://zhaima.tech,阅读更多文章

7K20

JWT 实现

access token访问令牌为一个JWT,设置一个较短的过期时间,比如1小。访问令牌每次调用后端服务都需要携带,往返网络的频率非常高,暴露的可能性就越大,设置较短的过期时间也可以降低安全风险。...refresh token刷新令牌,可以不为JWT,设置一个较长的过期时间,比如1个月。刷新令牌主要用来换取新的access token。...因为其仅在访问令牌要失效或已经失效才会被传递给服务端,较长的过期时间并不会有太大的安全风险。颁发token的时候,仅将刷新令牌保存在redis并设置过期时间。...当使用刷新令牌换取新的访问令牌,需要判断redis里是否存在该刷新令牌,如果不存在,则刷新失败,用户就需要重新登录。...每次调用服务api仍然是原汁原味的jwt无状态认证,无需访问任何中心存储。仅在刷新访问令牌的时候需要访问中心存储。也算是一种折中的方案。

82310

单点登录实现原理(SSO)

2 用户在登录页面提交用户相应信息后,认证中心会校验用户信息,如果用户信息正确的话认证中心就会创建与该用户的全局会话(全局会话过期的时候,用户就需要重新登录了。...(系统1),系统1拿到令牌后去SSO认证中心校验令牌是否有效,SSO认证中心校验令牌,若该令牌有效则进行下一步 4 注册系统1,然后系统1使用该令牌创建和用户的局部会话(若局部会话过期,跳转至SSO...2,系统2拿到令牌后去SSO认证中心校验令牌是否有效,SSO认证中心返回有效,注册系统2,系统2使用该令牌创建与用户的局部会话,返回受保护资源。...如果系统1的局部会话存在的话,当用户去访问系统1的保护资源,就直接返回保护资源,不需要去认证中心验证了 局部会话存在,全局会话一定存在;全局会话存在,局部会话不一定存在;全局会话销毁,局部会话必须销毁如果在校验令牌过程中发现客户端令牌和服务器端令牌不一致或者令牌过期的话...id从会话中拿到令牌,向SSO认证中心发起注销请求,认证中心校验令牌有效,会销毁全局会话,同时取出此令牌注册的系统地址,认证中心向所有注册系统发出注销请求,各系统收到注销请求后销毁局部会话,认证中心引导用户跳转值登录页面

83111

单点登录实现原理(SSO)

用户在登录页面提交用户相应信息后,认证中心会校验用户信息,如果用户信息正确的话认证中心就会创建与该用户的全局会话(全局会话过期的时候,用户就需要重新登录了。...(系统1),系统1拿到令牌后去SSO认证中心校验令牌是否有效,SSO认证中心校验令牌,若该令牌有效则进行下一步 注册系统1,然后系统1使用该令牌创建和用户的局部会话(若局部会话过期,跳转至SSO认证中心...2,系统2拿到令牌后去SSO认证中心校验令牌是否有效,SSO认证中心返回有效,注册系统2,系统2使用该令牌创建与用户的局部会话,返回受保护资源。...如果在校验令牌过程中发现客户端令牌和服务器端令牌不一致或者令牌过期的话,则用户之前的登录就过期了,用户需要重新登录 关于令牌可参考:基于跨域单点登录令牌的设计与实现 单点注销 在一个子系统中注销...,各系统收到注销请求后销毁局部会话,认证中心引导用户跳转值登录页面

1.6K30

为什么很多人不推荐你用JWT?

然后,你在每次与该网站进行通信都会携带这个JWT。每当你访问一个需要验证身份的页面,你都会把这个JWT带给网站。...如果一切都通过了验证,你就可以继续访问受保护的页面了。为什么说JWT很烂?...因为JWT被加密签名,接收方可以验证JWT是否有效且可信。但是,在过去20年里几乎每一个网络框架都可以在使用普通的会话cookie获得加密签名的好处。...令牌撤销问题由于令牌在到期之前一直有效,服务器没有简单的方法来撤销它。以下是一些可能导致这种情况危险的用例。注销并不能真正使你注销! 想象一下你在推特上发送推文后注销了登录。...因此,如果有人在此期间获取了该令牌,他们可以继续访问直到它过期。可能存在陈旧数据 想象一下用户是管理员,被降级为权限较低的普通用户。同样,这不会立即生效,用户将继续保持管理员身份,直到令牌过期

22010

基于redis+springboot从零开始设计一个类阿里系的单点登录

首先我去天猫登录一下,之后刷新淘宝来看看,登录天猫之后,直接去刷新淘宝页面 我们会发现淘宝也登录了,为什么可以这么方便呢?这里就用到了单点登录的概念。...流程运行: 用户第一次登录,将会话信息(用户Id和用户信息),比如以用户Id为Key,写入分布式 Session; 用户再次登录,获取分布式Session,是否有会话信息,如果没有则调到登录页 一般采用...,返回布尔值 注销 客户端思路: 请求工具封装 拦截器:http请求验证是否有登陆过,如果没有转发到检查登录 服务器登录完整之后会转发会客户端,拦截器判断是否有token参数,获取token请求验证中心二次验证..."; } } redis监听器 检查userkey是否过期,redis触发过期时间就删除对应的token 配置: @Configuration public class RedisConfiguration...key String key = new String(message.getBody(), StandardCharsets.UTF_8); // 如果登录令牌过期,

78220

单点登录原理与简单实现

认证中心校验用户信息,创建用户与sso认证中心之间的会话,称为全局会话,同时创建授权令牌 sso认证中心带着令牌跳转会最初的请求地址(系统1) 系统1拿到令牌,去sso认证中心校验令牌是否有效 sso认证中心校验令牌...,跳转回系统2的地址,并附上令牌 系统2拿到令牌,去sso认证中心校验令牌是否有效 sso认证中心校验令牌,返回有效,注册系统2 系统2使用该令牌创建与用户的局部会话,返回受保护资源   用户登录成功之后...sso认证中心校验令牌有效,销毁全局会话,同时取出所有用此令牌注册的系统地址 sso认证中心向所有注册系统发起注销请求 各注册系统接收sso认证中心的注销请求,销毁局部会话 sso认证中心引导用户至登录页面...6、sso-server接收并处理校验令牌请求   用户在sso认证中心登录成功后,sso-server创建授权令牌并存储该令牌,所以,sso-server对令牌的校验就是去查找这个令牌是否存在以及是否过期...令牌与注册系统地址可以用下图描述的结构存储在redis中,可能你会问,为什么要存储这些系统的地址?

1.2K20

单点登录原理与简单实现 原

认证中心校验用户信息,创建用户与sso认证中心之间的会话,称为全局会话,同时创建授权令牌 sso认证中心带着令牌跳转会最初的请求地址(系统1) 系统1拿到令牌,去sso认证中心校验令牌是否有效 sso认证中心校验令牌...,跳转回系统2的地址,并附上令牌 系统2拿到令牌,去sso认证中心校验令牌是否有效 sso认证中心校验令牌,返回有效,注册系统2 系统2使用该令牌创建与用户的局部会话,返回受保护资源   用户登录成功之后...sso认证中心校验令牌有效,销毁全局会话,同时取出所有用此令牌注册的系统地址 sso认证中心向所有注册系统发起注销请求 各注册系统接收sso认证中心的注销请求,销毁局部会话 sso认证中心引导用户至登录页面...  用户在sso认证中心登录成功后,sso-server创建授权令牌并存储该令牌,所以,sso-server对令牌的校验就是去查找这个令牌是否存在以及是否过期令牌校验成功后sso-server将发送校验请求的系统注册到...令牌与注册系统地址可以用下图描述的结构存储在redis中,可能你会问,为什么要存储这些系统的地址?

87050

单点登录原理与简单实现

sso认证中心校验用户信息,创建用户与sso认证中心之间的会话,称为全局会话,同时创建授权令牌 sso认证中心带着令牌跳转会最初的请求地址(系统1) 系统1拿到令牌,去sso认证中心校验令牌是否有效 sso...认证中心发现用户已登录,跳转回系统2的地址,并附上令牌 系统2拿到令牌,去sso认证中心校验令牌是否有效 sso认证中心校验令牌,返回有效,注册系统2 系统2使用该令牌创建与用户的局部会话,返回受保护资源...sso认证中心校验令牌有效,销毁全局会话,同时取出所有用此令牌注册的系统地址 sso认证中心向所有注册系统发起注销请求 各注册系统接收sso认证中心的注销请求,销毁局部会话 sso认证中心引导用户至登录页面...6、sso-server接收并处理校验令牌请求 用户在sso认证中心登录成功后,sso-server创建授权令牌并存储该令牌,所以,sso-server对令牌的校验就是去查找这个令牌是否存在以及是否过期...令牌与注册系统地址可以用下图描述的结构存储在redis中,可能你会问,为什么要存储这些系统的地址?

2.6K20

单点登录原理与简单实现

认证中心校验用户信息,创建用户与sso认证中心之间的会话,称为全局会话,同时创建授权令牌 sso认证中心带着令牌跳转会最初的请求地址(系统1) 系统1拿到令牌,去sso认证中心校验令牌是否有效 sso认证中心校验令牌...,跳转回系统2的地址,并附上令牌 系统2拿到令牌,去sso认证中心校验令牌是否有效 sso认证中心校验令牌,返回有效,注册系统2 系统2使用该令牌创建与用户的局部会话,返回受保护资源 用户登录成功之后,...sso认证中心校验令牌有效,销毁全局会话,同时取出所有用此令牌注册的系统地址 sso认证中心向所有注册系统发起注销请求 各注册系统接收sso认证中心的注销请求,销毁局部会话 sso认证中心引导用户至登录页面...用户在sso认证中心登录成功后,sso-server创建授权令牌并存储该令牌,所以,sso-server对令牌的校验就是去查找这个令牌是否存在以及是否过期令牌校验成功后sso-server将发送校验请求的系统注册到...令牌与注册系统地址可以用下图描述的结构存储在redis中,可能你会问,为什么要存储这些系统的地址?

1K20

JWT 还能这样的去理解嘛??

另外,并不是必须点击链接才可以达到攻击效果,很多时候,只要你打开了某个页面,CSRF 攻击就会发生。 那为什么 JWT 不会存在这种问题呢?...七、JWT 身份认证常见问题及解决办法 7.1注销登录等场景下 JWT 还有效 与之类似的具体相关场景有: 退出登录; 修改密码; 服务端修改了某个用户具有的权限或者角色; 用户的帐户被封禁/删除; 用户被服务端强制注销...因此,如果密码更改,则任何先前的令牌将自动无法验证。 JWT 的续签问题 JWT 有效期一般都建议设置的不太长,那么 JWT 过期后如何认证,如何实现动态刷新 JWT,避免用户经常需要重新登录?...假设服务端给的 JWT 有效期设置为 30 分钟,服务端每次进行校验,如果发现 JWT 的有效期马上快过期了,服务端就重新生成 JWT 给客户端。...这种做法的问题是仅仅在过期的时候请求才会更新 JWT ,对客户端不是很友好。 2、每次请求都返回新 JWT 这种方案的的思路很简单,但是,开销会比较大,尤其是在服务端要存储维护 JWT 的情况下。

20510

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

授权服务如何生成访问令牌? 访问令牌过期了而用户又不在场的情况下,又如何重新生成访问令牌? 授权服务的工作过程 在 xx让我去公众号开放平台给它授权数据,你是否好奇?开放平台怎么知道 xx 是谁?...第四步,验证权限范围(第二次) 步骤二生成授权页面前授权服务进行的第一次校验,是对比xx请求的权限范围和注册的权限。 为什么又要校验一次 因为这相当于一次用户的输入权限。...颁发授权码和颁发访问令牌,就是授权服务的核心。 刷新令牌 为何需要刷新令牌? 在生成访问令牌附加过期时间expires_in ? 访问令牌会在一定的时间后失效。...这里需同时验证刷新令牌是否存在,目的就是要保证传过来的刷新令牌的合法性。...正如我们讲到的小明使用小兔软件的例子,当访问令牌过期的时候,刷新令牌的存在可以大大提高小明使用小兔软件的体验。

2.8K20

单点登录(SSO),从原理到实现

认证中心校验用户信息,创建用户与sso认证中心之间的会话,称为全局会话,同时创建授权令牌 sso认证中心带着令牌跳转会最初的请求地址(系统1) 系统1拿到令牌,去sso认证中心校验令牌是否有效 sso认证中心校验令牌...,跳转回系统2的地址,并附上令牌 系统2拿到令牌,去sso认证中心校验令牌是否有效 sso认证中心校验令牌,返回有效,注册系统2 系统2使用该令牌创建与用户的局部会话,返回受保护资源   用户登录成功之后...sso认证中心校验令牌有效,销毁全局会话,同时取出所有用此令牌注册的系统地址 sso认证中心向所有注册系统发起注销请求 各注册系统接收sso认证中心的注销请求,销毁局部会话 sso认证中心引导用户至登录页面...用户在sso认证中心登录成功后,sso-server创建授权令牌并存储该令牌,所以,sso-server对令牌的校验就是去查找这个令牌是否存在以及是否过期令牌校验成功后sso-server将发送校验请求的系统注册到...令牌与注册系统地址可以用下图描述的结构存储在redis中,可能你会问,为什么要存储这些系统的地址?

23.2K2513

微信、支付宝以及美团等各大开放平台是如何使用OAuth 2.0的?

网关服务; 在 API 网关服务中,会做最基本的两种校验,一种是访问令牌的合法性校验,比如访问令牌是否过期的校验,另一种是小兔打单软件的基本信息的合法性校验,比如 app_id 和 app_secret...我们还知道了,小兔打单软件可以拿着这个访问令牌去代表小明访问小明的数据;如果访问令牌过期了,小兔打单软件还可以继续使用刷新令牌来访问,直到刷新令牌过期了。...现在问题来了,如果小明注销了账号,或者修改了自己的密码,那他之前为其它第三方软件进行授权的访问令牌就应该立即失效。否则,在刷新令牌过期之前,第三方软件可以一直拿着之前的访问令牌去请求数据。...所以在这种情况下,授权服务就要通过 MQ(消息队列)接收用户的注销和修改密码这两类消息,然后对访问令牌进行清理。 ?...其实,这个案例中解决访问令牌安全问题的方式,不仅仅适用于开放平台,还可以为你在企业内构建自己的 OAuth 2.0 授权体系结构提供借鉴。

1K50

JWT 身份认证优缺点分析以及常见问题解决方案

然后,每次使用 token 进行请求的话都会先判断这个 token 是否存在于黑名单中。...因此,如果密码更改,则任何先前的令牌将自动无法验证。...2.token 的续签问题 token 有效期一般都建议设置的不太长,那么 token 过期后如何认证,如何实现动态刷新 token,避免用户经常需要重新登录?...假设服务端给的 token 有效期设置为30分钟,服务端每次进行校验,如果发现 token 的有效期马上快过期了,服务端就重新生成 token 给客户端。...这种做法的问题是仅仅在过期的时候请求才会更新 token ,对客户端不是很友好。 每次请求都返回新 token :这种方案的的思路很简单,但是,很明显,开销会比较大。

3.9K20

我去!原来单点登录这么简单,这下糗大了!

; 4、sso认证中心校验用户信息,创建用户与sso认证中心之间的会话,称为全局会话,同时创建授权令牌; 5、sso认证中心带着令牌跳转会最初的请求地址(系统1); 6、系统1拿到令牌,去sso认证中心校验令牌是否有效...,并将自己的地址作为参数; 11、sso认证中心发现用户已登录,跳转回系统2的地址,并附上令牌; 12、系统2拿到令牌,去sso认证中心校验令牌是否有效; 13、sso认证中心校验令牌,返回有效,注册系统...; 6、sso认证中心引导用户至登录页面。...用户在sso认证中心登录成功后,sso-server创建授权令牌并存储该令牌,所以,sso-server对令牌的校验就是去查找这个令牌是否存在以及是否过期令牌校验成功后sso-server将发送校验请求的系统注册到...令牌与注册系统地址可以用下图描述的结构存储在redis中,可能你会问,为什么要存储这些系统的地址?

97710

单点登录原理与简单实现

认证中心校验用户信息,创建用户与sso认证中心之间的会话,称为全局会话,同时创建授权令牌 sso认证中心带着令牌跳转会最初的请求地址(系统1) 系统1拿到令牌,去sso认证中心校验令牌是否有效 sso认证中心校验令牌...,跳转回系统2的地址,并附上令牌 系统2拿到令牌,去sso认证中心校验令牌是否有效 sso认证中心校验令牌,返回有效,注册系统2 系统2使用该令牌创建与用户的局部会话,返回受保护资源 用户登录成功之后,...sso认证中心校验令牌有效,销毁全局会话,同时取出所有用此令牌注册的系统地址 sso认证中心向所有注册系统发起注销请求 各注册系统接收sso认证中心的注销请求,销毁局部会话 sso认证中心引导用户至登录页面...用户在sso认证中心登录成功后,sso-server创建授权令牌并存储该令牌,所以,sso-server对令牌的校验就是去查找这个令牌是否存在以及是否过期令牌校验成功后sso-server将发送校验请求的系统注册到...令牌与注册系统地址可以用下图描述的结构存储在redis中,可能你会问,为什么要存储这些系统的地址?

1.3K40

单点登录原理与实现

为什么呢?...认证中心,并将自己的地址作为参数 sso认证中心发现用户已登录,跳转回系统2的地址,并附上令牌 系统2拿到令牌,去sso认证中心校验令牌是否有效 sso认证中心校验令牌,返回有效,注册系统2 系统2使用该令牌创建与用户的局部会话...各注册系统接收sso认证中心的注销请求,销毁局部会话 sso认证中心引导用户至登录页面 四、部署图 单点登录涉及sso认证中心与众子系统,子系统与sso认证中心需要通信以交换令牌、校验令牌及发起注销请求...用户在sso认证中心登录成功后,sso-server创建授权令牌并存储该令牌,所以,sso-server对令牌的校验就是去查找这个令牌是否存在以及是否过期令牌校验成功后sso-server将发送校验请求的系统注册到...令牌与注册系统地址可以用下图描述的结构存储在redis中,可能你会问,为什么要存储这些系统的地址?

84720

单点登录原理与简单实现

认证中心校验用户信息,创建用户与sso认证中心之间的会话,称为全局会话,同时创建授权令牌 sso认证中心带着令牌跳转会最初的请求地址(系统1) 系统1拿到令牌,去sso认证中心校验令牌是否有效 sso认证中心校验令牌...,跳转回系统2的地址,并附上令牌 系统2拿到令牌,去sso认证中心校验令牌是否有效 sso认证中心校验令牌,返回有效,注册系统2 系统2使用该令牌创建与用户的局部会话,返回受保护资源   用户登录成功之后...sso认证中心校验令牌有效,销毁全局会话,同时取出所有用此令牌注册的系统地址 sso认证中心向所有注册系统发起注销请求 各注册系统接收sso认证中心的注销请求,销毁局部会话 sso认证中心引导用户至登录页面...  用户在sso认证中心登录成功后,sso-server创建授权令牌并存储该令牌,所以,sso-server对令牌的校验就是去查找这个令牌是否存在以及是否过期令牌校验成功后sso-server将发送校验请求的系统注册到...令牌与注册系统地址可以用下图描述的结构存储在redis中,可能你会问,为什么要存储这些系统的地址?

79620
领券