当前位置: 首页 > 知识库问答 >
问题:

如何修改AWS Cognito用户池的访问和标识令牌的到期时间

姚韬
2023-03-14

我找不到任何留档来解释是否以及如何修改AWS认知用户池的访问和身份令牌的到期时间。

文件规定,默认情况下,排放后1小时到期。

有没有办法修改有效期?

共有3个答案

澹台啸
2023-03-14

我认为问题在于如何获得Cognito会话终止的粒度控制。有一种方法可以做到这一点。但首先让我们回顾一下Cognito会话管理的工作原理:

  1. 身份验证令牌在一小时后过期。
  2. 在发布刷新令牌时,可能会请求新的身份验证令牌
  3. 1到30天后,Cognito将不会发出刷新令牌-在应用程序客户端设置中,每个应用程序配置的天数

那么,你能做些什么来更好地控制认知会话长度呢?答案是在超文本传输协议请求堆栈中插入一个筛选器来评估请求——如果用户出于任何原因必须注销,请向Cognito注销终结点发出302重定向(并清除您的会话cookie)。

这就是我们在库伯内特斯与特使(使用代理)以及Spring一起做的事情。它还允许您连接逻辑,在用户的1小时访问令牌到期之前立即撤销对用户的访问。

看见https://docs.aws.amazon.com/cognito/latest/developerguide/logout-endpoint.html

楚泳
2023-03-14

目前无法为用户池配置此选项。他们设定为每个人一个小时。

编辑:参见Mike的评论,这是最近添加的。

益明朗
2023-03-14

截至2020年8月12日,AWS宣布用户池现在支持令牌到期的定制。以下是应遵循的步骤:

  1. 打开AWS Cognito控制台。

访问令牌过期时间必须介于5分钟和1天之间。不能大于刷新令牌到期时间。

有关AWS cognito的更多详细信息,请访问此链接。

 类似资料:
  • 我正在尝试更改访问令牌Laravel Passport的过期日期。 以下是我尝试过的: AuthServiceProvider 用户控制器 但是没有成功。在字段的数据库中,过期日期没有更改,默认情况下仍然是一年。 我正在尝试这样做,因为我想在访问令牌过期时重定向到登录表单。我怎么能做到呢? 我也不确定刷新令牌会发生什么,它是否会返回另一个访问令牌,并且用户不需要授权?

  • 我正在使用Cognito用户池对系统中的用户进行身份验证。成功的身份验证将提供一个ID令牌(JWT)、一个访问令牌(JWT)和一个刷新令牌。这里的文档清楚地提到了刷新令牌可以用于刷新访问令牌,但没有提到如何使用。我的问题是,一旦我的访问令牌过期,我如何使用存储的刷新令牌再次刷新我的访问令牌? 我搜索了JavaScript SDK,但找不到任何方法来做同样的事情。我肯定错过了什么。 我还想通过Lam

  • 我正在尝试以编程方式获取Azure数据工厂的托管标识对象(使用Python)。 为此,我遵循以下步骤: 在Azure Active Directory中注册应用程序以获取客户端ID、添加客户端机密、租户ID、范围 如链接中提供:https://docs.microsoft.com/en-us/azure/data-factory/data-factory-service-identity 完成这些

  • 当我从Google API获得一个< code>access_token时,它带有一个< code>expires_in值。根据文档,该值表示“访问令牌的剩余寿命”。 这个值的单位是多少?

  • 我目前正在尝试使用ADFS 2016认证angular 7应用程序(使用angular-oauth2-oidc)。到目前为止,它工作得很好。当我访问应用程序时,我被重定向到ADFS登录页面,在那里输入我的凭据并获得令牌。 现在,当应用程序调用web API时,它在请求头中发送访问令牌。ADFS返回的访问令牌如下所示: 问题是web API必须知道进行调用的用户的ID(因为在应用程序级别定义了一些权

  • 我使用JWT对用户进行身份验证。我可以看到JWT生成的两种令牌(向后端发出请求的访问令牌和刷新令牌)。所以,我的问题是,什么时候该注销用户?访问令牌到期的时间还是刷新令牌到期的日期 根据用户的活动或非活动状态,使用刷新令牌endpoint获取新访问令牌的更好方法是什么