我为一个特定客户端(基于Web的管理门户)使用隐式授权,用于将Cognito集成的auth用于应用程序的其他部分(API网关等)的应用程序。
问题是,我从Cognito Oauth获得的id令牌在一小时后过期,但我仍然需要该令牌发送到API Gateway以表示我有一个经过身份验证的用户。
如何获取新的ID令牌(请记住,我使用隐式授权,因此我没有刷新令牌)?
我是否必须每小时将用户的凭据重新发送到Cognito的auth端点?由于几个原因,这似乎过于安全。
我错过了什么?
提前致谢!
答案 0 :(得分:0)
如果您使用隐式授权,则无法刷新令牌(存储凭据并使用它来获取新的ID令牌不会在此处计算,因为它取消了使用OpenID Connect的目的)。
这就是代码授权的原因。除非您使用代码授予,否则无法刷新令牌。
如果您使用代码授权(包括使用联合身份识别来访问AWS等资源),您可以使用AWS Amplify库来简化登录,以便处理刷新和其他繁重工作。