在后续用户与appserver的通信中,appserver如何知道用户是谁,他的token是什么?

In the subsequent communication between user and appserver, how does app server know who the user is and what his token was?

在 Oauth 和 Openidconnect 中,appserver 端点调用启动 Oauth 流程,app 服务器从 auth 服务器获取令牌,并能够将令牌传递给资源服务器以代表资源访问资源(委托)所有者。

令牌交换发生在应用服务器和资源服务器之间,令牌永远不会到达最终用户的浏览器。

Q1:应用服务器是否存储针对用户的令牌?

Q2:在用户随后调用应用服务器端点时,应用服务器如何知道用户是谁以及使用哪个令牌访问资源服务器?

(1) 是的。应用服务器将为每个用户存储令牌。

(2) 它使用cookie 来维护用户会话。这个想法是,在确认用户成功通过身份验证(即获取访问令牌)后,应用服务器将为该用户生成一个唯一的会话 ID,并将该会话 ID 关联到用户的访问令牌。然后这个session ID将作为cookie发送回用户的浏览器,这样当用户的浏览器向应用服务器发送后续请求时,应用服务器可以从cookie中取回这个session ID并使用它来获取返回他的访问令牌。