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

如何使刷新令牌的有效期更长,并在spring refresh_token oauth2中每次出现新的安全grant_type时发出一个新的刷新令牌

为了使刷新令牌的有效期更长,并在Spring Refresh Token OAuth2中每次出现新的安全grant_type时发出一个新的刷新令牌,可以采取以下步骤:

  1. 配置刷新令牌的有效期:在Spring Security配置文件中,可以设置刷新令牌的有效期。可以通过设置refresh_token_validity属性来指定刷新令牌的有效期,单位为秒。例如,设置为3600表示刷新令牌的有效期为1小时。
  2. 自定义刷新令牌生成策略:可以自定义刷新令牌的生成策略,以便在每次出现新的安全grant_type时生成一个新的刷新令牌。可以实现TokenEnhancer接口,并重写enhance方法来实现自定义的刷新令牌生成逻辑。在该方法中,可以根据需要生成一个新的刷新令牌,并将其与访问令牌关联起来。
  3. 配置Spring Security OAuth2:在Spring Security配置文件中,需要配置OAuth2的相关信息,包括客户端信息、授权服务器、令牌存储等。可以使用@EnableAuthorizationServer注解来启用授权服务器,并配置相关的参数。
  4. 使用Spring Security OAuth2进行认证和授权:在应用程序中,可以使用Spring Security OAuth2来进行认证和授权。可以使用@EnableResourceServer注解来启用资源服务器,并配置相关的参数。在客户端请求资源时,需要携带有效的访问令牌和刷新令牌。

总结起来,要使刷新令牌的有效期更长,并在Spring Refresh Token OAuth2中每次出现新的安全grant_type时发出一个新的刷新令牌,需要配置刷新令牌的有效期,自定义刷新令牌生成策略,并使用Spring Security OAuth2进行认证和授权。

腾讯云相关产品和产品介绍链接地址:

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

相关·内容

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

访问令牌可能因多种原因而过期,例如用户撤销应用程序,或者如果授权服务器在用户更改密码使所有令牌过期。 如果您发出 API 请求并且令牌已经过期,您将收到一个表明此情况响应。...要使用刷新令牌,请使用 向服务令牌端点发出 POST 请求grant_type=refresh_token并在需要包括刷新令牌和客户端凭据。...&client_id=xxxxxxxxxx &client_secret=xxxxxxxxxx 响应将是一个访问令牌,并且可以选择一个刷新令牌,就像您在将授权代码交换为访问令牌收到一样。...最安全选择是授权服务器在每次使用刷新令牌发出一个刷新令牌。这是最新安全最佳当前实践建议,它使授权服务器能够检测刷新令牌是否被盗。...这就是应用程序是否知道刷新令牌预期寿命无关紧要原因,因为无论它过期原因如何,结果总是相同

18630

Spring OAuth2 实现始终获取令牌

Spring基于OAuth2协议编写spring-oauth2实现,是行业级接口资源安全解决方案,我们可以基于该依赖配置不同客户端不同权限来访问接口数据。...比如我们现在有一个名为hengboy账户:第一个人登录时令牌有效期为我们配置最长有效期(假设为7200秒),这时又有第二个人登录一个用户,第二个人获取令牌并不会重置有效期(可能还剩下3000秒...grant_type=refresh_token)重新获取一次有效期为2个小时)请求令牌,当刷新令牌refresh_token)失效后,再次通过createAccessToken方法来获取令牌。...,而调用refreshAccessToken方法需要删除响应refresh_token返回字段并把请求令牌刷新令牌进行绑定。...,这也就是实现了针对同一个账号不同人登录返回令牌需求。

2.1K20
  • SpringBoot整合spring-security-oauth2完整实现例子

    (本例子笔者对此模式做了改造,客户端仍然需要进行basic认证,目的是在一个认证授权中心里面,为了确认客户端和用户均有效且能够建立信任关系) 3....刷新令牌 本例,设置令牌有效期access_token_validity为7199秒,即两个小时。 刷新令牌有效期refresh_token_validity为2592000秒,即30天。...当access_token过期且refresh_token未过期,可以通过refresh_token进行刷新令牌,获取access_token和refresh_token ?...此模式获取令牌接口 grant_type固定传值 refresh_token 6. 检查令牌是否有效 当需要进行确定令牌是否有效,可以进行check_token ?...需要准备spring_oauth2相关数据表,执行本项目下db脚本(里面配置了oauth2基础表和客户端及用户账号信息)。 运行项目

    6.6K10

    学成在线-第16天-讲义- Spring Security Oauth2 JWT RSA加解密

    3 Spring Security Oauth2研究 3.1 目标 ​ 本项目认证服务基于Spring Security Oauth2进行构建,并在其基础上作了一些扩展,采用JWT令牌机制,并自定义了用户身份信息内容...上边参数使用x-www-form-urlencoded方式传输,使用postman测试如下: 注意:当令牌没有过期一个用户再次申请令牌则不再颁发令牌。...companyId、userpic、name、utype、id:这些字段是本认证服务在Spring Security基础上扩展用户身份信息 3.5刷新令牌刷新令牌是当令牌快过期重新生成一个令牌...(注意不是access_token,而是refresh_token刷新令牌成功,会重新生成访问令牌刷新令牌令牌有效期也比旧令牌长。...解决: ​ 使用JWT思路是,用户认证通过会得到一个JWT令牌,JWT令牌已经包括了用户相关信息,客户端只需要携带JWT访问资源服务,资源服务根据事先约定算法自行完成令牌校验,无需每次都请求认证服务完成授权

    11.9K10

    Spring Authorization Server 全新授权服务器整合使用

    前言 Spring Authorization Server 是 Spring 团队最新开发适配 OAuth 协议授权服务器项目,旨在替代原有的 Spring Security OAuth...经过半年开发和孵化,目前已经发布了 0.1.0 版本,初步支持授权码、客户端、刷新、注销等 OAuth 协议 本文环境基于 Spring Boot 2.4.2 && authorization-server...初始化配置 由于官方还未提供对应 Spring Boot Starter 自动化配置,需要自己配置相关 @Bean 本配置基于 Spring Boot 2.4.2 请知悉 @Configuration...登录客户端,基于 授权码、 刷新令牌能力 @Bean public RegisteredClientRepository registeredClientRepository() { RegisteredClient...RegisteredClient..tokenSettings() 默认配置如下, 包括令牌有效期刷新令牌控制等 protected static Map defaultSettings

    2.7K20

    Spring Security 在 Spring Boot 中使用 OAuth2【分布式】

    用于唯一标识每一个客户端,在注册必须填写(也可由服务端自动生成),对于不同 grant_type,该字段都是必须。...,所以它通常用来处理一个生命周期较短令牌以及撤销刷新令牌(refresh_token)。...即刷新令牌授权类型模式流程中就会包含一个检查,用来确保这个账号是否仍然有效。   ...♞ tokenStore:TokenStore 类实例,指定令牌如何访问,与 tokenServices 配置可选   ♞ resourceld:这个资源服务 id,这个属性是可选,但是推荐设置并在授权服务中进行验证...1.5.6 刷新 token 获取 access_token 同时,一般会同时返回 refresh_token,使用 refresh_token 进行刷新刷新后旧 token 将失效 ?

    7.1K41

    微服务 day16:基于Spring Security Oauth2开发认证服务

    三、Spring Security Oauth2 研究 0x01 目标 本项目认证服务基于 Spring Security Oauth2 进行构建,并在其基础上作了一些扩展,采用 JWT 令牌机制,并自定义了用户身份信息内容...0x06 刷新令牌 刷新令牌是当令牌快过期重新生成一个令牌,它于授权码授权和密码授权生成令牌不同,刷新令牌不需要授权码 也不需要账号和密码,只需要一个 刷新令牌、客户端id 和 客户端密码。...测试如下: POST:http://localhost:40400/auth/oauth/token 参数: grant_type: 固定为 refresh_token refresh_token刷新令牌...(注意不是 access_token,而是 refresh_token刷新令牌成功,会重生成访问令牌刷新令牌令牌有效期也比旧令牌长。...解决: 使用 JWT 思路是,用户认证通过会得到一个 JWT 令牌,JWT 令牌已经包括了用户相关信息,客户端只需要携带 JWT 访问资源服务,资源服务根据事先约定算法自行完成令牌校验,无需每次都请求认证服务完成授权

    4.2K30

    Spring底层原理高级进阶】【SpringCloud整合Spring Security OAuth2】深入了解 Spring Security OAuth2:底层解析+使用方法+实战

    :(整合SpringCloud) 在实施OAuth2协议,需要考虑以下安全性问题和采取相应防护措施: 令牌安全传输:令牌在客户端和服务器之间传输应进行安全加密,以防止令牌被拦截和篡改。...客户端应采取适当安全措施,如存储令牌进行加密处理。 在Spring Cloud,可以使用Spring Security OAuth2来实现令牌保密性。...授权服务器应定期检查和清理过期令牌,并提供令牌刷新机制,使客户端能够获取令牌。...在configure方法,我们配置了一个简单客户端,包括客户端ID、密钥、授权类型、作用域以及访问令牌刷新令牌有效期。...那我们就来看一个完整使用SpringCloud整合Spring Security OAuth2实现微服务之间安全通信案例吧 我们将使用一个商城以及商家管理后台业务部模块来讲解如何使用Spring

    1.9K11

    JWT学习

    Java解析JWT内容 刷新令牌 Spring Security Oauth2 整合单点登录(SSO) 创建客户端工程,添加依赖 修改配置文件 在启动类上添加@EnableOAuth2Sso注解来启用单点登录功能...每一个令牌授权一个特定第三方系统(例如,视频编辑网站)在特定时段(例如,接下来2小内)内访问特定资源(例如仅仅是某一相册视频)。...可以在令牌自定义丰富内容,易扩展。 通过非对称加密算法及数字签名技术,JWT防止篡改,安全性高。 资源服务使用JWT可不依赖认证服务即可完成授权。 缺点: JWT令牌较长,占存储空间比较大。...中使用oauth2,如果令牌失效了,可以使用刷新令牌通过refresh_token授权模式再次获取access_token。...","password","refresh_token"); } 使用刷新令牌模式来获取令牌,访问如下地址: http://localhost:8080/oauth/token ---- Spring

    2.8K40

    OAuth 2.0 授权认证详解

    OAuth出现就是为了解决访问资源安全性以及灵活性。...刷新令牌(refresh token) 刷新令牌作用在于更新访问令牌,访问令牌有效期一般较短,这样可以保证在发生访问令牌泄露,不至于造成太坏影响,但是访问令牌有效期设置太短存在副作用就是用户需要频繁授权...,虽然可以通过一定机制进行静默授权,但是频繁调用授权接口,之于授权服务器也是一种压力,这种情况下就可以在下发访问令牌同时下发一个刷新令牌刷新令牌有效期明显长于访问令牌,这样在访问令牌失效,可以利用刷新令牌去授权服务器换取访问令牌...上面 URL grant_type参数为refresh_token表示要求更新令牌,此处值固定为refresh_token,必选项; client_id参数和client_secret参数用于确认身份...B 网站验证通过以后,就会颁发令牌。 注意:第三方应用服务器拿到刷新令牌必须存于服务器,通过后台进行重新获取令牌,以保障刷新令牌保密性。

    1.8K40

    Spring Security---Oauth2详解

    一、配置令牌刷新 获取AccessToken 刷新AccessToken 令牌有效期 编码实现资源服务器 “合二为一”还是“分而治之” 配置资源服务器 使用AccessToken访问资源 认证资源服务器分离...Security Spring Security 5.2引入OAuth支持 作为一个OAuth开发者,你可能在一开始完全不知道该使用哪一个进行项目的开发?...:可以看到access_token被刷新,并且其有效期回归初始值43199(实际是43200秒、12小) {"access_token":"5286b54d-8e07-4bdd-a641-1e1ace7af6d2..."scope":"all"} ---- 令牌有效期 通常情况下,refresh_token有效期要远大于access_token有效期。...比如 平台 access_token有效期 refresh_token有效期 小米开放平台 90天 10年 微信开放平台 2小 未知 腾讯开放平台 90天 未知 当然最重要还是要保护client_d

    4.5K10

    可能是第二好 Spring OAuth 2.0 文章,艿艿端午在家写了 3 天~

    概述 在《芋道 Spring Boot 安全框架 Spring Security 入门》文章,艿艿分享了如何使用 Spring Security 实现认证与授权功能,获得广大女粉丝好评。...: 访问令牌(Access Token) 刷新令牌(Refresh Token) 在访问令牌过期,我们可以使用刷新令牌向授权服务器获取一个访问令牌。...可能会胖友有疑惑,为什么会有刷新令牌呢?每次请求资源服务器,都会在请求上带上访问令牌,这样它泄露风险是相对高。 因此,出于安全考虑,访问令牌过期时间比较短,刷新令牌过期时间比较长。...Client 授权模式,额外新增 "refresh_token" 刷新令牌。...请求参数 grant_type 为 "refresh_token",表示使用刷新令牌模式。 请求参数 refresh_token,表示刷新令牌

    2.1K30

    从0开始构建一个Oauth2Server服务 Refreshing-access-tokens

    刷新令牌 Refreshing-access-tokens 如何让您开发人员使用刷新令牌来获取访问令牌。如果您服务随访问令牌一起发出刷新令牌,则您需要实现此处描述刷新授权类型。...通常这不会包含在请求,如果省略,服务应该发出一个与之前发出范围相同访问令牌。 客户端身份验证(如果客户端被授予机密则需要) 通常,刷新令牌仅用于机密客户端。...服务器可能会在响应中发出刷新令牌,但如果响应不包含刷新令牌,则客户端会假定现有的刷新令牌仍然有效。 例子 以下是服务将接收刷新授权示例。...&client_id=xxxxxxxxxx &client_secret=xxxxxxxxxx Response 对刷新令牌授予响应与发出访问令牌响应相同。...您可以选择在响应中发出刷新令牌,或者如果您不包含刷新令牌,则客户端假定当前刷新令牌将继续有效。

    17810

    聊聊 OAuth 2.0 Token 续期处理

    去获取 token ,若当前用户已经存在对应token,直接返回而不不会创建 token。...综上情况,在操作过程token 过期是一个常态化问题。...' 若上,当 前端拿着正确(未过期且未使用过)refresh_token 去调用 认证中心刷新 端点刷新,会 触发RefreshTokenGranter, 返回 Token public class...客户端根据返回错误信息(响应码),直接调用认证服务器 refresh_token 认证服务器返回 token 给客户端, 然后再次发起 资源调用 被动请求缺点是,用户当次请求会失败(返回token...失败),对一些业务连贯操作不是很友好 主动刷新 [ws6815q0bb.jpeg] 客户端存在计算逻辑,计算下发token 有效期 若token要过期之前,主动发起刷新 主动请求缺点是,客户端占用部分计算资源来处理

    3.3K40

    第十八章:SpringBoot项目中使用SpringSecurity整合OAuth2设计项目API安全接口服务

    本章目标 基于SpringBoot项目提供一个继承OAuth2安全框架REST API服务端,必须获取访问授权令牌后才可以访问资源。...图10 RefreshToken信息表 刷新Token需要用到refresh_token信息表结构如下图11所示: ?...刷新AccessToken 我们access_token过期我们需要刷新后返回token,使用token才能继续操作数据接口。刷新access_token如下图33所示: ?...图33 看到上图33红色框内值了吗?这个就是我们之前获取tokenoauth2给我们返回refresh_token值,我们需要用到该值来进行刷新token。...token值得有效期可以看到又是我们配置默认1800秒,刷新tokenoauth2还是给我们返回了一个refersh_token值,该值要作为下次刷新token使用。

    2.3K40

    Spring Security oAuth2

    Spring Security oAuth2 oAuth 协议为用户资源授权提供了一个安全、开放而又简易标准。Spring Security 实现了 oAuth 协议。...令牌访问与刷新 Access Token Access Token 是客户端访问资源服务器令牌。拥有这个令牌代表着得到用户授权。然而,这个授权应该是临时,有一定有效期。...这是因为 Access Token 在使用过程可能会泄露。给 Access Token 限定一个较短有效期可以降低因 Access Token 泄露而带来风险。...refresh_token=&client_id= 传入 refresh_token 和 client_id,认证服务器验证通过后,返回一个 access_token。...刷新 Access Token ,需要验证这个 client_secret。 实际上刷新接口类似于: http://www.funtl.com/refresh?

    72610

    聊聊 OAuth 2.0 token expire_in 使用

    源码剖析 我们来看下 oauth2 令牌方法机制,如果客户端 配置 validitySeconds (令牌有效期) 大于 0 会返回当前令牌有效时间 expires_in 参数, OAuth2AccessToken...":"IwOGYzYTlmM2YxOTQ5MGE3YmNmMDFkNTVk", "scope":"create" } access_token (必需) 授权服务器发出访问令牌 token_type...expires_in (推荐)如果访问令牌过期过期时间。 refresh_token(可选)刷新令牌,在访问令牌过期后,可使用此令牌刷新。...scope(可选)如果用户授予范围与应用程序请求范围相同,则此参数为可选。 此处 expires_in 推荐返回,无论是有设置有效期限制还是无有效期限制。...所以此处 spring security oauth2 处理并不符合协议规范 emmm 。 [20200407144312_LffrNe_Screenshot.jpeg]

    1.5K30

    实战:画了几张图,终于把OAuth2搞清楚了

    对于身份认证和用户授权,之前写过几篇关于Shiro和Security文章。从发送口令获取源码反馈来看,大家还是比较认可。今天给大家带来一种授权方式:oauth2。...; oauth_approvals:存储用户授权信息; oauth_refresh_token:存储刷新令牌refresh_token,如果客户端grant_type不支持refresh_token...模式 授权码模式 我们前边所讲内容都是基于授权码模式,授权码模式被称为最安全一种模式,它获取令牌操作是在两个服务端进行,极大减小了令牌泄漏风险。...该模式弊端就是token直接暴漏在浏览器,非常不安全,不建议使用。 密码模式 密码模式下,用户需要将账户和密码提供给客户端向认证服务器申请令牌,所以该种模式需要用户高度信任客户端。...个人认为是生成token发现数据库token存在,故不刷新token,但进行校验却用带有权限标识token前去校验导致失败。

    89430

    聊聊 OAuth 2.0 token expire_in 使用

    源码剖析 我们来看下 oauth2 令牌方法机制,如果客户端 配置 validitySeconds (令牌有效期) 大于 0 会返回当前令牌有效时间 expires_in 参数, OAuth2AccessToken...":"IwOGYzYTlmM2YxOTQ5MGE3YmNmMDFkNTVk", "scope":"create" } access_token (必需) 授权服务器发出访问令牌 token_type...expires_in (推荐)如果访问令牌过期过期时间。 refresh_token(可选)刷新令牌,在访问令牌过期后,可使用此令牌刷新。...scope(可选)如果用户授予范围与应用程序请求范围相同,则此参数为可选。 此处 expires_in 推荐返回,无论是有设置有效期限制还是无有效期限制。...所以此处 spring security oauth2 处理并不符合协议规范 emmm 。

    1.6K10

    【我在拉勾训练营学技术】OAuth2+JWT 实现权限验证

    第三⽅授权登录场景:⽐如,我们经常登录⼀些⽹站或者应⽤时候,可以选择使⽤第三⽅授权登录⽅式,⽐如:微信授权登录、QQ授权登录、微博授权登录等,这是典型 OAuth2 使⽤场景。...Spring Cloud OAuth2 + JWT 实现 Spring Cloud OAuth2Spring Cloud 体系对OAuth2协议实现,可以⽤来做多个微服务统⼀认证(验证身份合法性...通过向OAuth2服务(统⼀认证授权服务)发送某个类型 grant_type 进⾏集中认证和授权,从⽽获得 access_token(访问令牌),⽽这个 token 是受其他微服务信任。...搭建认证服务器 创建一个模块,service-oauth-hw-9900。...令牌存储机制 JWT 令牌介绍 通过上边测试我们发现,当资源服务和授权服务不在⼀起资源服务使⽤RemoteTokenServices 远程请求授权 服务验证token,如果访问量较⼤将会影响系统性能

    1.5K20
    领券