Springsecurity Oauth2 设置token的过期时间

1.设置token的过期时间

如果我们是从数据库来读取客户端信息的话 我们只需要在数据库设置token的过期时间
在这里插入图片描述
在这里插入图片描述

1.1 oauth_client_details表每个列的作用
  1. client_id:客户端的id

用于唯一标识每一个客户端(client);注册时必须填写(也可以服务端自动生成),这个字段是必须的,实际应用也有叫app_key

  1. resource_ids:资源服务器的id,多个用,(逗号)隔开

客户端能访问的资源id集合,注册客户端时,根据实际需要可选择资源id,也可以根据不同的额注册流程,赋予对应的额资源id

  1. client_secret:客户端的秘钥

注册填写或者服务端自动生成,实际应用也有叫app_secret, 必须要有前缀代表加密方式

  1. authorized_grant_types:认证的方式

可选值 授权码模式:authorization_code,密码模式:password,刷新token: refresh_token, 隐式模式: implicit: 客户端模式: client_credentials。支持多个用逗号分隔

  1. web_server_redirect_uri:授权码模式认证成功跳转的地址

客户端重定向uri,authorization_code和implicit需要该值进行校验,注册时填写,

  1. authorities:指定用户的权限范围,如果授权的过程需要用户登陆,该字段不生效,implicit和client_credentials需要
  2. access_token_validity:token的过期时间

设置access_token的有效时间(秒),默认(60 * 60 * 12,12小时)

  1. refresh_token_validity:刷新token的过期时间

设置refresh_token有效期(秒),默认(60 *60 * 24 * 30, 30天)

  1. additional_information:值必须是json格式
  2. autoapprove:默认false,适用于authorization_code模式,设置用户是否自动approval操作,设置true跳过用户确认授权操作页面,直接跳到redirect_uri
  • 7
    点赞
  • 37
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Spring Security设置 OAuth2 token endpoint 需要进行以下步骤: 1. 首先,确保你已经添加了 Spring Security OAuth2 的依赖。可以在 `pom.xml` 文件中添加以下依赖项: ```xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-oauth2-client</artifactId> </dependency> ``` 2. 在 Spring Security 的配置类中,添加 `@EnableOAuth2Client` 注解以启用 OAuth2 客户端功能。例如: ```java @Configuration @EnableWebSecurity @EnableOAuth2Client public class SecurityConfig extends WebSecurityConfigurerAdapter { // 配置其他的安全设置 } ``` 3. 在 `application.properties`(或 `application.yml`)文件中,配置 OAuth2 的相关属性。例如: ```properties spring.security.oauth2.client.registration.google.client-id=YOUR_CLIENT_ID spring.security.oauth2.client.registration.google.client-secret=YOUR_CLIENT_SECRET spring.security.oauth2.client.registration.google.redirect-uri={baseUrl}/login/oauth2/code/{registrationId} spring.security.oauth2.client.provider.google.authorization-uri=https://accounts.google.com/o/oauth2/v2/auth spring.security.oauth2.client.provider.google.token-uri=https://www.googleapis.com/oauth2/v4/token spring.security.oauth2.client.provider.google.user-info-uri=https://www.googleapis.com/oauth2/v3/userinfo spring.security.oauth2.client.provider.google.user-name-attribute=name ``` 注意:上述示例中的属性是以 Google OAuth2 作为示例,你需要将其替换为你使用的实际 OAuth2 提供商的属性。 4. 最后,你可以使用 `SecurityConfig` 类的 `configure(HttpSecurity http)` 方法来配置 Spring Security 的其他安全设置。例如: ```java @Configuration @EnableWebSecurity @EnableOAuth2Client public class SecurityConfig extends WebSecurityConfigurerAdapter { // 配置其他的安全设置 @Override protected void configure(HttpSecurity http) throws Exception { http .authorizeRequests() .antMatchers("/oauth2/**", "/login/**").permitAll() .anyRequest().authenticated() .and() .oauth2Login() .loginPage("/login") .defaultSuccessUrl("/home") .and() .logout() .logoutUrl("/logout") .logoutSuccessUrl("/") .permitAll(); } } ``` 以上示例中,`configure(HttpSecurity http)` 方法配置了登录页、登录成功后的默认跳转页面和注销功能。 这是一个简单的设置 OAuth2 token endpoint 的示例,你可以根据自己的需求进行更详细的配置和定制。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

往日时光--

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值