在哪里可以设置Keycloak标头过期时间

时间:2019-07-07 11:09:42

标签: flask keycloak

使用flask_oidc和Keycloak登录我的应用程序时, 我收到的Cookie的标题在发出后的一个小时内过期。 这导致我的应用程序每小时重新加载并获取一个新的cookie。

我试图在Keycloak文档和flask_oidc中都找到一种解决方案,但没有找到解决方案。

在下面您可以找到Cookie标头的示例:

{ "alg": "HS256", "exp": 1562495222, "iat": 1562491622 }

我是否缺少一些需要配置的设置,以停止我的应用程序以保持每小时刷新一次?

2 个答案:

答案 0 :(得分:0)

您是说Keycloak令牌到期吗?如果是这样,您可以在keycloak的管理面板中执行此操作: 选择适当的领域,进入回收设置(在左侧菜单上),然后选择选项卡“令牌”。在那里您可以更改它们的有效性。 检查屏幕截图:keycloak admin panel

编辑: 根据评论,我编辑了评论...您的问题也可能在Flask设置中。请检查此网页flask-jwt,在这里您还可以找到以下网址: JWT_ACCESS_TOKEN_EXPIRES

How long an access token should live before it expires. This takes any value that can be safely added to a datetime.datetime object, including datetime.timedelta, dateutil.relativedelta, or an int (seconds), and defaults to 15 minutes. Can be set to False to disable expiration.

我希望这会有所帮助。

答案 1 :(得分:0)

问题出在flask_oidc cookie_serializer中,事实证明它的cookie默认情况下为1小时。 我通过向其构造函数添加更长的到期值来对其进行设置。

oidc = OpenIDConnect(app)
oidc.cookie_serializer = TimedJSONWebSignatureSerializer(app.config['SECRET_KEY'], expires_in=longer_value)

这解决了我的问题。