Angular 无刷新令牌的Ngx身份验证

Angular 无刷新令牌的Ngx身份验证,angular,authentication,authorization,jwt,access-token,Angular,Authentication,Authorization,Jwt,Access Token,我有一项任务要进行身份验证。他们想使用ngx auth——首先,他们想实现文档中提到的2个令牌:访问和刷新。但现在他们只想用一个代币。我的问题是: 1) 在没有刷新令牌的情况下使用该包是否值得且可能?我认为这个包主要基于刷新令牌。 2) 如何检查令牌的过期?它是通过基本jwt中的exp参数实现的吗?我应该多长时间检查一次令牌有效性?每次请求还是每15分钟检查一次?您可以使用此库。若要忽略RefreshToken,只需重写适当的方法而不执行任何操作 要检查有效性,请解码令牌(base64)并检查e

我有一项任务要进行身份验证。他们想使用ngx auth——首先,他们想实现文档中提到的2个令牌:访问和刷新。但现在他们只想用一个代币。我的问题是: 1) 在没有刷新令牌的情况下使用该包是否值得且可能?我认为这个包主要基于刷新令牌。
2) 如何检查令牌的过期?它是通过基本jwt中的
exp
参数实现的吗?我应该多长时间检查一次令牌有效性?每次请求还是每15分钟检查一次?

您可以使用此库。若要忽略RefreshToken,只需重写适当的方法而不执行任何操作

要检查有效性,请解码令牌(base64)并检查
exp
属性以了解是否过期。您应该在每次请求之前通过HTTP\u拦截器执行此操作。若令牌过期,则请求新令牌并重播原始查询

更大的问题是如果您不想使用过期令牌,如何重新生成过期令牌?您不能在客户端存储用户名和密码。后端需要提供一些端点,允许通过传递过期令牌来重新生成令牌

令牌不应长期有效。如果您的客户不想要刷新令牌,那么可能?想让令牌对24h有效,然后考虑将令牌IP地址放在令牌内,并在每次传入请求时验证它。这不是常见的方法,但对于不遵循标准(如附加安全机制)的“硬”客户机来说是很好的

@编辑

我检查了ngx auth源代码,刷新令牌的方法略有不同。当后端将
401 Unauthorized
返回到客户端时,如果此库刷新令牌被写入。在这种情况下,您不必验证
exp
属性。只需截获所有传入的响应,如果状态为401,则意味着我们必须刷新令牌

该库中的令牌服务只是抽象接口,没有逻辑您必须扩展AuthService类,并为特定方法提供自己的实现

请检查ngx身份验证示例存储库

这里是这个库的简单实现


您不想使用刷新令牌。在这种情况下,请重写refreshToken方法,并找到任何其他方法来处理重新授权。

您可以使用此库。若要忽略RefreshToken,只需重写适当的方法而不执行任何操作

要检查有效性,请解码令牌(base64)并检查
exp
属性以了解是否过期。您应该在每次请求之前通过HTTP\u拦截器执行此操作。若令牌过期,则请求新令牌并重播原始查询

更大的问题是如果您不想使用过期令牌,如何重新生成过期令牌?您不能在客户端存储用户名和密码。后端需要提供一些端点,允许通过传递过期令牌来重新生成令牌

令牌不应长期有效。如果您的客户不想要刷新令牌,那么可能?想让令牌对24h有效,然后考虑将令牌IP地址放在令牌内,并在每次传入请求时验证它。这不是常见的方法,但对于不遵循标准(如附加安全机制)的“硬”客户机来说是很好的

@编辑

我检查了ngx auth源代码,刷新令牌的方法略有不同。当后端将
401 Unauthorized
返回到客户端时,如果此库刷新令牌被写入。在这种情况下,您不必验证
exp
属性。只需截获所有传入的响应,如果状态为401,则意味着我们必须刷新令牌

该库中的令牌服务只是抽象接口,没有逻辑您必须扩展AuthService类,并为特定方法提供自己的实现

请检查ngx身份验证示例存储库

这里是这个库的简单实现


您不想使用刷新令牌。在这种情况下,重写
refreshToken
方法并找到任何其他方法来处理重新授权。

所以库不提供用于处理过期令牌的用例?如果库提供过期时间,并且ngx auth必须提供过期时间,我不想自己检查过期时间,因此我想知道在没有刷新令牌的情况下如何执行此操作。库不支持解码令牌以检查
exp
属性。而不是在后端返回401时刷新此库令牌。我更新了我的帖子。所以库不提供用于处理过期令牌的用例?如果库提供过期时间,并且ngx auth必须提供过期时间,我不想自己检查过期时间,因此我想知道在没有刷新令牌的情况下如何执行此操作。库不支持解码令牌以检查
exp
属性。而不是在后端返回401时刷新此库令牌。我更新了我的帖子。