以下是可能会多次询问的问题,但我正在努力构建查询。
因为你必须将IDToken +身份验证提供程序传递给cognito身份联合,所以aws cognito可以工作,它提供有效一小时的临时凭证。那么一小时后会发生什么,我得到身份验证异常。
现在我观察到CognitoCachingCredentialProvider在执行给定任务之前尝试刷新,让我们说执行lambda或make dynamodb查询。但是什么是处理到期,拦截刷新,首先获取令牌并将其设置为credentialprovider然后继续刷新的好方法。
可能是UserPool IDToken或Google的IDToken,我需要知道的是如何知道凭据是否已过期,我需要在处理请求之前从提供者处获取新的IDTokens并刷新凭据。
我已经尝试过每小时一次的任务(实际上是55分钟),但有时它不会起作用,到目前为止还不太可靠。
由于
答案 0 :(得分:0)
要做得恰到好处有点棘手,但有两种常用方法可以解决它。
一个是做你建议的 - 跟踪令牌何时售出,然后刷新,如果它在某个到期阈值内(例如刷新,如果距离到期时间<5分钟)。
另一种是盲目地尝试刷新,然后捕获令牌过期时抛出的异常并在那里重新/重试。如果你选择这条路线,请注意只在那里重试一次,这样如果请求不正确,你就不会垃圾邮件。