我正在尝试实现以下问题的解决方案:
当用户加载我的React应用程序时,出于分析目的,对我的api的每个请求都应使用一些标识数据来进行,将特定用户与每个请求相关联。一旦用户登录,这当然很容易。但是我需要支持非登录用户。
最具挑战性的部分是用户何时首先加载应用程序,并发出初始api请求以加载数据。即使我立即调用api来创建一个匿名用户并发回一个标识该用户的令牌,仍然会有一些api调用会到达服务器而没有标识符。
如何确保仅发出与用户关联的请求?
我考虑过的一个主意是
https://my_api.com/home_page_items
的获取请求,则该请求应“暂停”,直到在客户端上收到标识符为止。收到标识符后,任何暂停的请求都应发出。我目前正在使用自定义中间件来捕获和处理React应用程序中发出的所有api请求,因此我可以在中心位置处理请求。但是,我不确定创建延迟的api调用队列的方法和最佳实践,一旦满足某些条件(在这种情况下,客户端已收到令牌),该队列就会恢复。
我想到的另一个想法是客户端生成的UUID,它在应用程序加载时立即创建,并临时用作请求的标识符,直到客户端从后端收到令牌为止。然后,以后,可以将客户端生成的UUID与用户帐户相关联,以便可以将用户发出的所有请求与它们相关联。
这似乎是其他开发人员在其他项目中尝试做的事情。我只是不确定如何具体实现它。
任何方向都值得赞赏!