假设这种情况...您向auth服务器发出请求,它返回access_token,并且此令牌将在所有后续请求的标头中发送给资源服务器。
例如,现在我想获取用户X的朋友列表。我向资源服务器发出请求,这里发生的第一件事是,它向身份验证服务器发出了另一个请求,以验证access_token。如果验证成功,将进行查询以从数据库中获取数据并返回数据。
这就是我感到困惑的地方。对于我来说,这种流程似乎不合适,因为对于资源服务器的每个请求,您都必须向身份验证服务器发出另一个请求,以验证access_token。这是正确的流程吗?
我不确定您使用的是哪种类型的设置,因此我可能错了,但答案可能是否。
验证服务需要访问访问令牌存储,以检查您发送的令牌是否有效。这通常是数据库或缓存。无法解决这个问题。
但是,如果将凭据存储在完全独立的系统中(例如远程服务器),那么是的,可能需要进行另一次往返。但是,除非由于某些原因确实需要执行此操作,否则效率非常低。