Angularjs 如何配置IIS URL重写模块以使用;HTML 5 pushState“;url上的样式和哈希片段?
Angular 2有一个PathLocationStragy来处理html5路由,还有一个HashLocationStragy来处理路由上的散列片段“#” 这里的问题是当我们使用OIDC(OpenID Connect)进行用户身份验证和PathLocationStragy(或AngularJS上路由的HTML5模式)时,因为某些流上的OpenID在用户使用url登录后重定向回站点后返回“#”片段后的数据,如下所示:Angularjs 如何配置IIS URL重写模块以使用;HTML 5 pushState“;url上的样式和哈希片段?,angularjs,angular,iis,url-rewriting,Angularjs,Angular,Iis,Url Rewriting,Angular 2有一个PathLocationStragy来处理html5路由,还有一个HashLocationStragy来处理路由上的散列片段“#” 这里的问题是当我们使用OIDC(OpenID Connect)进行用户身份验证和PathLocationStragy(或AngularJS上路由的HTML5模式)时,因为某些流上的OpenID在用户使用url登录后重定向回站点后返回“#”片段后的数据,如下所示: http://mysite/callback#code=7b60c0570d7c
http://mysite/callback#code=7b60c0570d7c4da0fc60678c0e46deadd5eeab0a659203fd44efb7cd51b2cdab&id_token=eyJhb …
对于html5路由,IIS Url重写上的以下设置非常常见:
...
...
但是当web服务器收到带有http://mysite/callback#code=7b60c0570d7c4d
在用户记录此请求后,来自授权服务器的响应为:403-禁止:访问被拒绝。
我认为问题在于Url重写设置,而不是AngularJS或Angular2应用程序的。。。
如何解决这个问题?如何将AngularJS/Angular 2与html5路由样式和OpenID Connect一起使用?片段值不发送到服务器,它们仅由浏览器在客户端处理。浏览器仅发送
http://mysite/callback
如果您也刷新了页面,会发生这种情况吗?请尝试删除
看看它是否有效,尽管我不是IIS专家。。