为后台服务持久化刷新令牌是常见的做法吗



我构建了一个应用程序,该应用程序必须使用委派的AAD权限才能与Graph API交互。由于安全限制,无法选择应用程序权限。

这个应用程序是一个后台服务,它具有一些用于配置应用程序的最小UI。这个想法是让用户登录UI一次(通过AAD(,授予所需的权限。在那之后,用户将基本上不再需要使用这个UI,因为没有什么重要的配置。

这就造成了这样一种情况,即用户只会出现一次可用的访问令牌。在初次启动之后,应用程序将不得不偶尔使用一次刷新令牌,以保持能够使用Graph API。

我的假设正确吗?为了实现这一点,我必须保持每个用户的刷新令牌直观地说,这似乎既是一种安全风险(如果实施不当(,也是一种复杂的系统,它不仅会存储代币,还会有额外的后台刷新代币,并可能通知用户最终过期的代币(在代币刷新失败的情况下(。

是的,您收到的刷新令牌对每个用户都是唯一的,因此您确实需要在每个用户之间保持刷新和访问令牌的独立性,并以安全的方式存储它们。

还请注意,在某些系统中,每次使用都会获得一个新的刷新令牌。

您可以将刷新令牌与计时器一起使用,并每XX分钟刷新一次。或者,当用户从API收到401未经身份验证的响应时进行刷新。

最新更新