You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

OAuth2认证的会话超时限制是在什么位置定义的?

OAuth2客户端会话15分钟超时配置位置说明

1. 应用容器级配置(通用基础配置)

绝大多数场景下,OAuth2客户端依赖的会话时效默认继承Web服务容器的全局配置,15分钟配置方式如下:

  • Spring Boot内置Tomcat/Jetty/Undertow容器:在application配置文件中添加对应配置
    配置文件格式(.properties):
    server.servlet.session.timeout=15m
    配置文件格式(.yml):
    server:
      servlet:
        session:
          timeout: 15m
    

2. 安全框架专属配置

如果配置容器全局时效后不生效,说明使用的安全框架覆盖了默认配置,需单独调整:

  • Spring Security OAuth2客户端场景:
    配置文件可直接添加项:
    spring.security.oauth2.client.session.timeout=900
    代码硬编码配置方式:
    @Bean
    public HttpSessionListener sessionListener() {
        return new HttpSessionListener() {
            @Override
            public void sessionCreated(HttpSessionEvent event) {
                // 设置会话最大不活跃间隔为900秒即15分钟
                event.getSession().setMaxInactiveInterval(900);
            }
        };
    }
    
  • Node.js Express + passport-oauth2场景:
    修改express-session初始化配置:
    app.use(session({
      secret: '自定义密钥',
      resave: false,
      saveUninitialized: false,
      cookie: {
        maxAge: 15 * 60 * 1000 // 单位为毫秒,对应15分钟
      }
    }))
    
  • Python Django + social-auth场景:
    在settings.py中添加配置:
    SESSION_COOKIE_AGE = 900

3. 联动配置检查

需同步核对OAuth2授权服务端返回的access_token、refresh_token过期时间,如果token过期时间短于15分钟,用户会在token过期时被强制跳转登录,需调整授权端token时效与会话时效匹配,否则配置不生效。

内容的提问来源于stack exchange,提问作者vic

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 10:45:04