• luke
    2019-11-26
    spa怎么后端重定向?

    作者回复: 这个重定向是在授权服务器上,用户同意授权,然后授权服务器向用户浏览器发出重定向跳转,跳转到静态资源服务器上(相当于让浏览器再次加载资源服务器上的js),当js被浏览器再次加载,它就可以读取到url fragment里头的token。

    这里有篇文章讲简化模式,可以参考:
    https://developer.okta.com/blog/2018/05/24/what-is-the-oauth2-implicit-grant-type

     1
    
  • 西兹兹
    2018-12-29
    波波老师:
    1、C步骤里的Fragment里已经有了token(试验里的#号后面的就是token)?
    2、D步骤里的 URI without Fragment访问的“Web-Hosted Client Resouce”这个没有理解;
          Web-Hosted Client Resouce是指授权服务器里的资源服务器?
          C步骤里的Fragment已经有token了, 为什么要需要D步骤去请求获取token呢?
          D步骤存在的意义是为了获取除了token之外的scope权限集合?
    展开

    作者回复: 这个不是普通的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

    
    
我们在线,来聊聊吧