作者回复: 这个重定向是在授权服务器上,用户同意授权,然后授权服务器向用户浏览器发出重定向跳转,跳转到静态资源服务器上(相当于让浏览器再次加载资源服务器上的js),当js被浏览器再次加载,它就可以读取到url fragment里头的token。
这里有篇文章讲简化模式,可以参考:
https://developer.okta.com/blog/2018/05/24/what-is-the-oauth2-implicit-grant-type
作者回复: 这个不是普通的ajax请求,浏览器需在授权服务器和Web资源服务器之间跳转才能完成整个流程,D步骤是授权服务器要求浏览器重定向(302跳转指令),浏览器需跳转到Web资源服务器重新加载js(因为上一步浏览器加载的是授权服务器页面),这时浏览器器中js才能从fragment里头获取token。之所以用fragment,是为安全不让令牌传过网络,参考https://stackoverflow.com/questions/16733863/oauth2-0-implicit-grant-flow-why-use-url-hash-fragments