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

Keycloak+Symfony(KnpU OAuth2Client)配置长会话后用户仍30-60分钟被登出的问题排查求助

Keycloak+Symfony(KnpU OAuth2Client)配置长会话后用户仍30-60分钟被登出的问题排查求助

大家好,我现在在做Keycloak和Symfony应用的集成,用的是knpuniversity/oauth2-client-bundle加上自定义认证器。整体流程跑通没问题,但最近遇到个头疼的问题:我和用户都会在30-60分钟左右被自动登出,明明我在Keycloak和Symfony里都配置了很长的会话有效期。


环境信息

  • Symfony 7
  • KnpU OAuth2ClientBundle
  • 最新版Keycloak(Docker部署)

Symfony的security.yaml相关配置

firewalls:
    main:
        lazy: true
        provider: app_user_provider
        custom_authenticator:
            - App\Security\AdminFormAuthenticator
            - App\Security\KeycloakAuthenticator
        entry_point: App\Security\AdminFormAuthenticator
        logout:
            path: app_logout
            target: app_home
        remember_me:
            secret: '%kernel.secret%'
            lifetime: 2592000 # 30 days
            path: /
            always_remember_me: true

令牌刷新逻辑

我已经把刷新令牌存在会话里,会在需要的时候自动刷新访问令牌,核心逻辑如下:

if (!$request->query->has('code') && $session->has('refresh_token')) {
    $accessToken = $this->refreshAccessToken($client, $session->get('refresh_token'));
} else {
    $accessToken = $this->fetchAccessToken($client);
}

Keycloak的会话/令牌配置

我在Keycloak里的相关配置(文字整理,原问题有截图无法贴出):

  • SSO Session Idle: 30天
  • SSO Session Max: 10天
  • Client Session Idle: 30天
  • Client Session Max: 10分钟(这个设置看起来有点可疑?)
  • Offline Session Idle: 30天
  • Access Token Lifespan: 15天
  • Refresh Token lifespan: 禁用刷新(默认设置)
  • Login timeout: 30分钟

问题现状

尽管配置了这么多“长效”设置,但实际用户会话会在30-60分钟左右过期,我自己测试和用户反馈的情况完全一致。目前我怀疑可能是这几个方向出了问题:

  • Keycloak的Client Session Max=10分钟是不是覆盖了更长的SSO会话设置?
  • Symfony这边有没有没处理好的地方,比如没正确持久化或刷新令牌?
  • Symfony的remember_me配置在OAuth2集成场景下是不是根本不起作用?

想请教的问题

  1. 这种30-60分钟就登出的情况,最可能的原因是什么?是不是Keycloak的Client Session Max=10分钟在搞鬼?
  2. 我是不是需要在Keycloak里开启刷新令牌,并且调整它的有效期?
  3. Symfony的remember_me配置在OAuth2集成的场景下是不是完全无关?
  4. 有没有推荐的配置方案,能让Keycloak+Symfony的会话持续几天甚至几周,而不是几十分钟?

另外,如果有人能讲讲Keycloak的这些会话设置和Symfony的会话、刷新令牌逻辑之间的交互关系,那就太感谢了!

内容来源于stack exchange

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.07 08:59:34