【发布时间】:2019-12-28 23:26:42
【问题描述】:
我有一个单页应用程序,它从 AWS cognito 请求 JWT 以访问资源服务器中受保护的资源。但是,当 JWT 过期时,我想以编程方式刷新它。为此,我需要知道令牌是否过期以触发刷新。这是下面的 JWT。
{
"sub": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
"aud": "xxxxxxxxxxxxexample",
"email_verified": true,
"token_use": "id",
"auth_time": 1500009400,
"iss": "https://cognito-idp.us-east-1.amazonaws.com/us-east-1_example",
"cognito:username": "janedoe",
"exp": 1500013000, // <---- this is what we want
"given_name": "Jane",
"iat": 1500009400,
"email": "janedoe@example.com"
}
然而,我的困境是我不知道如何检查它何时过期而不将其发送到资源服务器进行验证,并且我无法在前端进行验证,因为这会暴露应用程序的秘密。我认为exp 变量可能是从特定日期开始的毫秒数,但我不确定(谷歌上没有任何证据证实这一点)。
所以我想问一下,如何从exp 变量中确定到期日期?
【问题讨论】:
-
什么是SPA? ..
-
单页应用程序(我会更新问题以反映这一点)
-
在资源服务器上,你是否应用了任何机制来响应过期令牌?如果不是,您必须在服务器上执行此操作。然后根据服务器的响应,您将在前端刷新它。在 Angular 中,您可以在拦截器中执行此操作。
标签: authentication jwt amazon-cognito