【发布时间】:2021-06-22 21:04:17
【问题描述】:
我需要能够为每个用户指定会话超时。 (因此对于每个用户来说它可能是不同的值)使用访问令牌上的“exp”属性来实现这一点似乎很自然,(因为它是 oauth 规范中的目的),但 cognito 似乎忽略了对此的更新在 preTokenGeneration 触发器中。有没有办法在每个用户的基础上更新它?还是我真的需要定义一些将在 Id 令牌上检查的自定义属性?
【问题讨论】:
标签: amazon-cognito
我需要能够为每个用户指定会话超时。 (因此对于每个用户来说它可能是不同的值)使用访问令牌上的“exp”属性来实现这一点似乎很自然,(因为它是 oauth 规范中的目的),但 cognito 似乎忽略了对此的更新在 preTokenGeneration 触发器中。有没有办法在每个用户的基础上更新它?还是我真的需要定义一些将在 Id 令牌上检查的自定义属性?
【问题讨论】:
标签: amazon-cognito
很好的问题。我相信你知道since August 2020 Cognito allows you to configure access token expiry time from 5 mins to 1 day。配置是每个应用程序客户端。如果您能够在应用程序客户端之间拆分用户,这可能是一种选择(例如,在一个页面上登录长会话的管理员,在另一个页面上登录普通用户)。您可以使用预身份验证触发器将应用程序客户端锁定到某些用户。不过,这不是一个非常可配置的解决方案。
我还想知道您所说的会话究竟是什么意思?例如,这通常意味着两件事之一。要么您的会话到期,您必须在固定时间长度后重新登录(例如 AWS 是 24 小时)。或者,如果您闲置了一段时间(例如 30 分钟),您的会话将结束。你能详细说明一下你的要求吗?
【讨论】:
exp(对于一段时间不活动和必须在固定时间后再次登录的要求。)我认为我可以说服 PM 更新到要求,这样它就不能按用户编辑,而是绑定到组,并且每个组使用单独的应用程序客户端。谢谢!