我正在构建一个 .net core web api。
前言 - 我已按照 https://stormpath.com/blog/token-authentication-asp-net-core 和 https://dev.to/samueleresca/developing-token-authentication-using-aspnet-core 实现了令牌身份验证。我也在 github 和这里的 SO 上阅读了一些问题。 https://goblincoding.com/2016/07/24/asp-net-core-policy-based-authorisation-using-json-web-tokens/ 也很有用。
在实现所有这些之后,我感觉好像还缺少了些什么。
我创建了一个简单的 Angular 应用程序,它位于 Web 客户端中。当我进行身份验证时,客户端会收到一个令牌。我现在将其存储在会话中(仍在开发中,稍后将解决关于在哪里存储的安全问题)。
我不太确定这个(JWT (JSON Web Token) automatic prolongation of expiration)是否有用,因为我没有实现刷新令牌。
我注意到当我注销并再次登录时,客户端会收到一个新的令牌,这是预期的。然而,如果令牌过期时间已经过去(我将其设置为1分钟进行测试),然后刷新页面,令牌似乎在我的应用程序中保持不变。换句话说,就好像令牌从未过期一样?!
我本来期望客户端会返回401未授权错误,然后我可以处理强制用户重新验证身份。
这不是它应该工作的方式吗?后台是否有自动刷新令牌的魔法(我没有明确地在教程中设置任何刷新令牌的概念)?还是我对令牌认证的概念存在误解?
另外,如果这是一个永久刷新的令牌,那么如果令牌被泄露,我应该担心安全问题吗?
感谢您的帮助。
前言 - 我已按照 https://stormpath.com/blog/token-authentication-asp-net-core 和 https://dev.to/samueleresca/developing-token-authentication-using-aspnet-core 实现了令牌身份验证。我也在 github 和这里的 SO 上阅读了一些问题。 https://goblincoding.com/2016/07/24/asp-net-core-policy-based-authorisation-using-json-web-tokens/ 也很有用。
在实现所有这些之后,我感觉好像还缺少了些什么。
我创建了一个简单的 Angular 应用程序,它位于 Web 客户端中。当我进行身份验证时,客户端会收到一个令牌。我现在将其存储在会话中(仍在开发中,稍后将解决关于在哪里存储的安全问题)。
我不太确定这个(JWT (JSON Web Token) automatic prolongation of expiration)是否有用,因为我没有实现刷新令牌。
我注意到当我注销并再次登录时,客户端会收到一个新的令牌,这是预期的。然而,如果令牌过期时间已经过去(我将其设置为1分钟进行测试),然后刷新页面,令牌似乎在我的应用程序中保持不变。换句话说,就好像令牌从未过期一样?!
我本来期望客户端会返回401未授权错误,然后我可以处理强制用户重新验证身份。
这不是它应该工作的方式吗?后台是否有自动刷新令牌的魔法(我没有明确地在教程中设置任何刷新令牌的概念)?还是我对令牌认证的概念存在误解?
另外,如果这是一个永久刷新的令牌,那么如果令牌被泄露,我应该担心安全问题吗?
感谢您的帮助。