我使用AWS Cognito服务进行身份验证。在我的Angular 7应用中,我使用Amplify Auth来保护我的页面。
如果用户在不同页面之间导航,则Amplify将自动处理令牌刷新,并且他们将看不到令牌到期。
如果用户长时间停留在一页中,则令牌将不会刷新,最终用户将看到过期的令牌,并将获得403的Web服务调用。
如果用户长时间在同一页面上,刷新访问/ ID令牌的任何好的解决方案?
答案 0 :(得分:0)
在Amplify authentication documentation: retrieve current session中,他们展示了如何使用Auth.currentSession()进行操作,这将返回一个Promise并在过期时刷新令牌。 在Auth.currentSession()。then()块中返回的数据中,您获得一个CognitoUserSession对象,该对象的id和exp密钥位于idToken.payload下,这些键可用于确定idToken何时到期或已到期。您可以在身份验证服务中使用这些令牌,以在需要时刷新令牌。
答案 1 :(得分:0)
大概有两种方式:
widget1