我想实现类似于StackExchange的跨域身份验证系统。这是stackexchange使用的流程:
确认用户未经过身份验证。
向“/ users / login / global”发出请求,服务器以令牌回复。
使用先前获取的令牌向stackauth.com/auth/global发出请求(在步骤2中)。服务器返回加载时执行的javascript。
javascript使用令牌向auth服务器发出其他ajax请求,并返回另一个令牌(authToken)。
客户端使用authToken向“/ users / login”发出另一个请求。服务器返回会话cookie。
在我尝试自己实施之前,我想澄清一些步骤。身份验证服务器和当前堆栈交换如何在后端进行交互?第一个和第二个令牌分别做什么?我应该注意哪些安全问题?